正则表达式校验输入的ip地址和端口号
时间: 2023-10-22 08:28:17 浏览: 79
以下是校验IP地址和端口号的正则表达式:
IP地址校验正则表达式:
```
^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$
```
解释:
- `^` 表示字符串的开始
- `(2[0-4]\d|25[0-5]|[01]?\d\d?)` 表示一个IP地址段,可以是0-199、200-249、250-255之间的数字,也可以是0-99、100-199之间的数字,或者是单独的0-9之间的数字
- `(\.){3}` 表示这个IP地址段出现3次,中间用`.`分隔
- `(2[0-4]\d|25[0-5]|[01]?\d\d?)` 表示最后一个IP地址段,与前面的IP地址段校验方法相同
- `$` 表示字符串的结尾
端口号校验正则表达式:
```
^([1-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$
```
解释:
- `^` 表示字符串的开始
- `([1-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])` 表示端口号的范围,可以是1-65535之间的数字
- `$` 表示字符串的结尾
你可以将这两个正则表达式用于校验IP地址和端口号。
相关问题
python使用正则表达式校验输入的手机号是否正确
可以使用 Python 中的 re 模块来进行正则表达式的匹配,以下是一个检验手机号是否正确的示例代码:
```python
import re
def check_phone_number(number):
pattern = r'^1[3-9]\d{9}$'
match = re.match(pattern, number)
if match:
return True
else:
return False
# 测试
print(check_phone_number('13912345678')) # True
print(check_phone_number('12345678900')) # False
print(check_phone_number('1234567890')) # False
```
其中,正则表达式 `r'^1[3-9]\d{9}$'` 中:
- `^` 表示以后面的模式开头;
- `1` 表示手机号的第一位必须为 1;
- `[3-9]` 表示手机号的第二位为 3-9 中的任意一个数字,即 3、4、5、7、8 中的一个;
- `\d{9}` 表示手机号的后 9 位为数字;
- `$` 表示以前面的模式结尾。
因此,该正则表达式可以匹配以 1 开头,第二位为 3、4、5、7、8 中的一个,后面跟着 9 位数字的手机号。
正则表达式校验输入的数不能小于0
要校验输入的数不能小于0,可以使用正则表达式来实现。可以使用如下的正则表达式:
```
^(0|[1-9][0-9]*)(\.[0-9]+)?$
```
这个正则表达式可以匹配非负数(包括小数),但是不能匹配负数。解释一下这个正则表达式:
- `^` 表示匹配字符串的开始位置。
- `(0|[1-9][0-9]*)` 表示匹配非负整数。其中 `(0|[1-9][0-9]*)` 表示匹配0或者不以0开头的数字,`[0-9]*` 表示匹配后面的数字部分。
- `(\.[0-9]+)?` 表示匹配小数部分。其中 `\.` 表示匹配小数点,`[0-9]+` 表示匹配小数点后面的数字,`?` 表示小数部分是可选的。
- `$` 表示匹配字符串的结束位置。
使用这个正则表达式验证输入的数是否大于等于0,只需要将输入的数与这个正则表达式匹配即可。如果匹配成功,说明输入的数不小于0;如果匹配失败,说明输入的数小于0。