为什么c#正则表达式不能用于这种情况?

时间:2014-10-01 06:16:48

标签: c# regex

这是我的正则表达式

\s[a-z]+(\s|$)

输入:a b c

输出:b

为什么它没有检测到" c"虽然它背后有空间并且在行尾结束

1 个答案:

答案 0 :(得分:3)

(?<=\s)([a-z]+)(?=\s|$)

试试这个。当您吃掉\s[a-z]+(\s|$)时,正则表达式\s无效。因此c无法匹配,因为之前的\s已经被{吃掉了{1}}。改为使用b

参见演示。

http://regex101.com/r/aW3pR4/20