正则表达式 – 正则表达式 – 两位数范围(23-79)?

前端之家收集整理的这篇文章主要介绍了正则表达式 – 正则表达式 – 两位数范围(23-79)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在阅读这个网站上的正则表达式问题,但我的问题似乎有点不同.我需要匹配一个2位数字,例如23到75.我在HP-UX Unix系统上这样做.我找到了3 – 44但是或者任何数字的例子,没有任何长度固定的,这有点令人惊讶,但也许我不明白可变长度的例子答案.
由于您没有指出这是否是任何其他字符(或更大字符串的中间),我在此处包含了逻辑,以指示您需要匹配字符串的数字部分.这应该会让你到那里.我们正在为我们正在寻找的第二个数字创建一个范围,只允许这些字符.然后我们将它与其他范围进行比较:
(2[3456789]|[3456][0-9]|7[012345])

正如oded所指出的,你也可以这样做,因为子范围也被接受(取决于你正在使用的应用程序中REGEX的实现):

(2[3-9]|[3-6][0-9]|7[0-5])

根据标题,您可以将最后5个更改为9到75-79:

(2[3-9]|[3-6][0-9]|7[0-9])

如果您尝试将这些数字专门用作字符串(从开始到结束),那么您将使用修饰符^和$来指示字符串的开头和结尾.

Regex系列有一个很好的技术参考:

http://www.regular-expressions.info/numericranges.html

如果您正在使用类似grep的内容并尝试将包含该数字的行与其他内容进行匹配,那么您可以对79到79的范围执行类似的操作:

grep "[^0-9]?(2[3-9]|[3-6][0-9]|7[0-9])[^0-9]?" folder

猜你在找的正则表达式相关文章