我尝试以这种格式匹配字符串:
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代码中。我错过了什么?
答案 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
绝对是一个特殊字符的句点(。)。
希望这会有所帮助。