.NET Regex匹配任何单词

时间:2011-12-23 12:12:12

标签: .net regex

我尝试以这种格式匹配字符串:

Fixed sentence http://t.co/variable_part fixed_word @fixed_word

此字符串中唯一未知的部分是variable_part,其余部分是固定的。所以我用:

Fixed sentence http://t.co/([A-Za-z0-9\-]+) fixed_word @fixed_word

作为匹配模式。尽管如此,它在一些在线解析器中运行良好,而不是在某些基于.NET的在线解析器(如http://regexlib.com/RETester.aspx?AspxAutoDetectCookieSupport=1)和我的.NET代码中。我错过了什么?

4 个答案:

答案 0 :(得分:1)

您缺少字符类中的下划线

@"Fixed sentence http://t.co/([\w-]+) fixed_word @fixed_word"

我改变了类并使用\w包括字母,数字和下划线(在.net字母和数字当然是unicode字母和数字,不仅是ASCII,而且因为你想匹配任何单词。 ..)

答案 1 :(得分:1)

您忘记将下划线添加到角色类。您还想逃避.

Fixed sentence http://t\.co/([A-Za-z0-9_-]+) fixed_word @fixed_word

答案 2 :(得分:0)

单个评论不允许添加代码我认为所以我在这里分享了代码

http://t.co/([a-zA-Z0-9_]+)

答案 3 :(得分:0)

我认为你需要'逃避'非字母字符..所以像...

Fixed sentence http\:\/\/t\.co\/([A-Za-z0-9\-]+) fixed\_word \@fixed\_word 

绝对是一个特殊字符的句点(。)。

希望这会有所帮助。