我卡在RegEx(POSIX)。正则表达式的具体数字,忽略其他数字
我想从我的文本中提取特定数字,并忽略其他数字。
例如。我对'55'感兴趣,但想忽略2055,555,0550等。
令人沮丧的是,我无法可靠地说出数字的开头或结尾,例如,如果'55','55','55','55'等未知,我只能假定只是一个数字(或者根本没有)。
谢谢!
我卡在RegEx(POSIX)。正则表达式的具体数字,忽略其他数字
我想从我的文本中提取特定数字,并忽略其他数字。
例如。我对'55'感兴趣,但想忽略2055,555,0550等。
令人沮丧的是,我无法可靠地说出数字的开头或结尾,例如,如果'55','55','55','55'等未知,我只能假定只是一个数字(或者根本没有)。
谢谢!
^(.*[^\d])?55([^\d].*)?$
这将接受任何具有55的东西,使得55不与任何其他数字相邻。例如,它会接受:
1: 55
但不是
Num: 556
这种方式有可能在该行其他数字,只是只要数55本身存在某处。
你可以使用负向后看和负前瞻像这样
(?<!\d)(55)(?!\d)
Demo
说明:
(?<! # Negative Look-Behind
\d # <digit 0-9>
) # End of Negative Look-Behind
( # Capturing Group (1)
55 # "55"
) # End of Capturing Group (1)
(?! # Negative Look-Ahead
\d # <digit 0-9>
) # End of Negative Look-Ahead
喜欢的东西:'^ [^ \ d] * 55^\ d] * $'? – pah
边界字符可以帮助'\ b55 \ b'。这里是一个讨论,包括数字搜索作为你的例子http://www.regular-expressions.info/wordboundaries.html –