任何单词的正则表达式都没有一个句点

时间:2011-05-21 23:35:29

标签: c# regex

我已经尝试了几种选择,但没有什么能给我全部的话。

这给了我部分的话,

`@"(?<![.])\w+"`

我正在解析c#代码,因此字符串"Regex.Match(" ", " ")"应返回Regex但不匹配。

我最终只使用了\w+并进行了此项检查,

if ((match.Index > 0) && ('.' == text[match.Index - 1]))
    continue;

哪种方法很好,但是如果有一个正则表达式也可以这么做就很好奇。

2 个答案:

答案 0 :(得分:5)

你也可以尝试:(?<![.])\b\w+\b

答案 1 :(得分:1)

尝试使用零宽度负向后观断言

(?<!(\.\w*))\w+

它的作用是只选择仅由字长组成的字符串,其长度至少为一个字符,前面没有前面带有点字符的0个或更多字符的字符串

更多关于.NET @ msdn

中这个以及其他更棘手的正则表达式