我正在尝试使用正则表达式匹配有效的Ip地址。我有一个表达式,但问题是我不能理解grep行为。
匹配0-255范围内的数字: echo 15 | grep -E "010-9?|250-5|20-4“
但它符合所有的数字!
例如3000也是匹配的-我认为这是因为它匹配"30“,这是整个字符串3000的一部分……然后我尝试grep -E "(010-9?|250-5|20-4)$“
(尝试匹配0-255后跟行尾)..但这似乎并不管用。有什么建议吗?
将括号放在正则表达式的不同部分中是否有效?像这样的-> ((a|b)c)(l|m)
发布于 2011-10-29 02:49:50
echo 15 | grep -E "^([01]?[0-9][0-9]?|25[0-5]|2[0-4][0-9])$"https://stackoverflow.com/questions/7933492
复制相似问题