C#Regex Lazy Quantifier与预期值不匹配

时间:2018-04-17 01:13:39

标签: c# regex

使用以下输入:

(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})<\/td>.*?(\d{1,5})<\/td>

此正则表达式无法匹配

where

2 个答案:

答案 0 :(得分:2)

您的问题很可能是.与换行符不匹配。

基本上,您有两种选择:用更广泛的匹配替换点:[\s\S]很常见:

(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})<\/td>[\s\S]*?(\d{1,5})<\/td>

Demo1

或者您使用单行/点匹配全部regex optionRegexOptions.Singleline

Demo2

答案 1 :(得分:1)

您还可以将singlelinedot-all)修饰符(?s)插入正则表达式中。

(?s)Your-regex