Regex 特定数字的正则表达式,忽略其他数字
我一直在使用正则表达式(POSIX) 我想从我的文本中提取一个特定的数字,忽略其他数字 比如说。我对“55”感兴趣,但想忽略205550550等 令人沮丧的是,我不能可靠地说出会是什么以及数字的开头或结尾,例如,如果“55”、“55”、“55”、“55”等未知。我只能假设除了数字以外的任何东西(或者什么都没有) 谢谢Regex 特定数字的正则表达式,忽略其他数字,regex,Regex,我一直在使用正则表达式(POSIX) 我想从我的文本中提取一个特定的数字,忽略其他数字 比如说。我对“55”感兴趣,但想忽略205550550等 令人沮丧的是,我不能可靠地说出会是什么以及数字的开头或结尾,例如,如果“55”、“55”、“55”、“55”等未知。我只能假设除了数字以外的任何东西(或者什么都没有) 谢谢 ^(.*[^\d])?55([^\d].*)?$ 这将接受任何包含55的数字,这样55就不会与任何其他数字相邻。例如,它将接受: 1: 55 但不是 Num: 556 这样,
^(.*[^\d])?55([^\d].*)?$
这将接受任何包含55的数字,这样55就不会与任何其他数字相邻。例如,它将接受:
1: 55
但不是
Num: 556
这样,行中就可以有其他数字,只要数字55本身就存在。正则表达式中有一个功能,您可以将搜索字符串限制为该字符串,并且仅限于该字符串 为此,您必须在搜索的字符串前面加上\<并附加\> 在本例中,您将使用\作为搜索字符串
您需要包含后斜线。您可以像这样使用负向后看和负向前看
(?<!\d)(55)(?!\d)
(?
说明:
(?<! # 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
(?
)#负面回顾结束
(#捕获组(1)
55 # "55"
)#捕获组结束(1)
(?!#消极展望未来
\d#
)#负面展望结束
类似于:^[^\d]*55[^\d]*$
?边界字符可能有助于\b55\b
。这里有一个讨论,包括数字搜索作为示例,我以前从未见过。您在任何地方都有此参考吗?(PS:这些是反斜杠)从上面Pierre Lafortune提供的相同链接,滚动到底部,在“GNU单词边界”一节中描述了这种用法。还感谢校对帮助!这真是太棒了。谢谢!还有,在Mark G.Sobell的Linux实用指南第185页上[