我卡在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 –