正则表达式我怎么才能找到两个空格和一个数字?

时间:2012-01-27 03:40:52

标签: regex string text numbers whitespace

嗨我想用这种字符串使用正则表达式,但我无法弄清楚如何做到这一点。我尝试使用

\ s \ s5找到这个字符串。但我也发现了一些字符串,如\ s \ s \ s \ s \ s5

123
4567
5
 5
  5
     5

你可以看到我们需要处理一些结构。 无论如何,我可以匹配

<whitespace><whitespace>5

但是不要将字符串与两个以上的空格匹配?

<whitespace><whitespace><whitespace><whitespace>5

3 个答案:

答案 0 :(得分:4)

将正则表达式锚定到行的开头(^):

^\s\s5

答案 1 :(得分:0)

您需要表明您正在寻找一整行:

^\s\s(\d+)$

其中^标记行的开头,$标记行的结尾。

它还取决于您使用的是哪种语言,因为Java的java.util.regex.Matches具有将在String内匹配的find()方法,以及与整个字符串匹配的matches()方法

答案 2 :(得分:0)

在正则表达式语言中,\ s是空格:

[^\s]\s\s5

(这将找到5个跟随2个空格的任何实例,即&#34; abc 5&#34;将匹配;不确定这是你的问题还是你在询问字符串的开头,其他人已回复那)