Regex 特定数字的正则表达式,忽略其他数字

Regex 特定数字的正则表达式,忽略其他数字,regex,Regex,我一直在使用正则表达式(POSIX) 我想从我的文本中提取一个特定的数字,忽略其他数字 比如说。我对“55”感兴趣,但想忽略205550550等 令人沮丧的是,我不能可靠地说出会是什么以及数字的开头或结尾,例如,如果“55”、“55”、“55”、“55”等未知。我只能假设除了数字以外的任何东西(或者什么都没有) 谢谢 ^(.*[^\d])?55([^\d].*)?$ 这将接受任何包含55的数字,这样55就不会与任何其他数字相邻。例如,它将接受: 1: 55 但不是 Num: 556 这样,

我一直在使用正则表达式(POSIX)

我想从我的文本中提取一个特定的数字,忽略其他数字

比如说。我对“55”感兴趣,但想忽略205550550等

令人沮丧的是,我不能可靠地说出会是什么以及数字的开头或结尾,例如,如果“55”、“55”、“55”、“55”等未知。我只能假设除了数字以外的任何东西(或者什么都没有)

谢谢

^(.*[^\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页上[