正则表达式匹配字符串最多两个连续的空格

时间:2014-10-24 10:22:45

标签: .net regex

我正在使用.NET来试验正则表达式。

我正在努力编写一个正则表达式来捕获以两个空格结尾的字符串中的段。例如

This is a test  Start of next bit

我如何捕获上面的字符串This is a test的第一部分,知道这两个段被正则表达式世界中的两个空格(\s)拆分了?

我尝过这样的话:

This is a test[^\s{2}]

但那让我无处可去。

2 个答案:

答案 0 :(得分:1)

比你所拥有的更正规的正则表达式是:

This.*?(?=\s{2})

它匹配任何字符.*?,直到遇到第一个双\s(顺便说一句,\s并不完全意味着空格',它表示任何空格,包括换行符,回车符,换页符,制表符。)

或者你可以尝试一些不同的东西;只要它们是单个'空格'

,就匹配所有内容
This(?:\s\S+)*

然后,再次分割双倍空间更简单。

答案 1 :(得分:0)

我通过这个SO问题找到了解决方案:

Regex to Exclude Double spaces

This((?!\s{2}).)*

符合我的需要。

疯狂的东西这个正则表达式malarky。