如何检查 url 是否是使用 IP 地址而不是域名创建的?
例如:
http://www.yeouuuuu.com/bla
https://www.bbc.co.uk/something
http://yeou:password@my.service.com/
//return true;
http://172.10.10.100/test
//return false; because there is an IP.
Run Code Online (Sandbox Code Playgroud)
IP4正则表达式:
ipv4 = RegExp('((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|
[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])');
Run Code Online (Sandbox Code Playgroud) 我有一个包含IP地址和DNS名称的字符串列表,我希望删除以"10"开头的值.只要.样本数据如下:
['www.example.com','1.2.3.4','4.3.2.1','example.net','10.1.1.10','10.1.1.11',...]
我认为这很简单,并从以下开始:
for v in address:
test = re.match('(^\d+\.)',v)
if test:
if test.group(1) == '10.':
address.remove(v)
Run Code Online (Sandbox Code Playgroud)
"10" 虽然我没有收到任何错误,但是没有删除地址(并且使用"print address.remove(v)"进行了一些t-shooting,导致每个"10."地址都为"无".让我相信正则表达式是错了但似乎除了这个能力之外还有效.
所以我用re.purge()戳了一下 - 这也没有帮助,但不认为这是我问题的一个因素.我也尝试使用del地址[...]无济于事.
我哪里出错了?
非常感谢您的关注.
我有一个问题,关于如何验证IP:端口在一起.例:
192.158.2.10:80 < - 有效
192.158.2.10 <---无效
所以端口是必须的,我找到了一些IP验证(正则表达式),但要与端口合并没有运气.我不想为端口使用单独的输入字段.
我的想法是这样的:
var str = '192.168.10.2:80';
var substr = ':';
if (str.indexOf(substr) !== -1){
var pieces = str.split(':', 2);
var ip = pieces[0];
var port = pieces[1];
//and here validate ip and port
}else{
console.log('the char '+substr+' is not there');
}
Run Code Online (Sandbox Code Playgroud)
这是对的吗?还是更简单?
我想在ruby中验证给定字符串是否是有效的IPv4地址.我尝试如下,但是匹配的值也大于255.如何限制每个块的范围从0到255
str="255.255.255.256"
if str=~ /\b[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\b/
puts true
else
puts false
end
Run Code Online (Sandbox Code Playgroud) 我正在使用正则表达式解析IP地址并提取其主机,端口,用户名和密码.
以下是我感兴趣的格式:
我在尝试确定地址是 IP 地址还是主机名时遇到问题。我发现的所有内容都表明要使用正则表达式。我不知道如何形成 IF 语句。这是我的代码:
private void btnPingAddress_Click(object sender, EventArgs e)
{
intByteSize = Convert.ToInt32(numericDataSize.Value);
intNumberOfPings = Convert.ToInt32(numericPing.Value);
strDnsAddress = cmbPingAddress.Text;
//If address is IP address:
if (strDnsAddress Contains ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?")
{
txtPingResults.Text = "Pinging " + strIpAddress + " with " + intByteSize + " bytes of data:" + "\r\n";
}
// If address is hostname:
else
{
strIpAddress = Convert.ToString(Dns.GetHostEntry(strDnsAddress));
txtPingResults.Text = "Pinging " + strDnsAddress + " [" + strIpAddress + "] with " + intByteSize + " …Run Code Online (Sandbox Code Playgroud) 可能重复:
Regexp检查IP是否有效
我对正则表达式并不擅长并且我搜索了这个,但我能找到的只是匹配在数字前后有空格的IP地址,例如它只匹配这个:
Text before 192.168.1.1 Text after
Run Code Online (Sandbox Code Playgroud)
如何使其匹配任何IP地址,我不想要IP我只想知道文本是否有IP,例如我希望它也匹配:
text before192.168.1.1text after
Run Code Online (Sandbox Code Playgroud)
我试过这些:
\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\b
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$
Run Code Online (Sandbox Code Playgroud)
并提前感谢.
我在C#中有一个ASP.NET 4.0 MVC应用程序,我需要创建一个匹配N {3} .N {3} .N {3}的正则表达式.{N {3}其中N {3}是任意1, 2或3位数(0-9)例如
1.1.1.1
111.111.111.111
1.111.111.1
Run Code Online (Sandbox Code Playgroud)
我试过了
@"^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$"
Run Code Online (Sandbox Code Playgroud)
但这符合我不想要的东西
111.1.1
1111.1.1
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在尝试从字符串中检索IP地址.我绝对不是第一个提出这个问题的人,但我找不到能够完全满足我们需要的答案.
如果字符串中的某个位置是xxx.xxx.xxx.xxx的组合,无论它周围的文本如何,它都应该用中间的点提取这个数字.所以它可以用于Test-Connection.
我不是要确定IP地址是否有效,但我试图从字符串中检索IP地址.即使它是无效的,比如说900.999.800.254.
例:
Input Expected result
----- ---------------
IP_10.57.50.91 10.57.50.91
10.57.50.73 10.57.50.73
10.58.4.37 IP 10.58.4.37
ip 10.63.1.22 10.63.1.22
BELPRLIXH300 $False
ip 10.63 $False
Run Code Online (Sandbox Code Playgroud)
regex ×7
c# ×2
javascript ×2
python ×2
asp.net-mvc ×1
dns ×1
ip ×1
jquery ×1
list ×1
php ×1
powershell ×1
ruby ×1
validation ×1