ste*_*ris 17 c# regex html-table non-greedy
我试图非贪婪地解析TD标签.我是从这样的事情开始的:
<TD>stuff<TD align="right">More stuff<TD align="right>Other stuff<TD>things<TD>more things
Run Code Online (Sandbox Code Playgroud)
我正在使用以下作为我的正则表达式:
Regex.Split(tempS, @"\<TD[.\s]*?\>");
Run Code Online (Sandbox Code Playgroud)
记录返回如下:
""
"stuff<TD align="right">More stuff<TD align="right>Other stuff"
"things"
"more things"
Run Code Online (Sandbox Code Playgroud)
为什么不拆分第一个完整的结果(以"stuff"开头的那个)?如何在有或没有参数的TD标签的所有实例上调整正则表达式以进行拆分?
Jas*_*son 35
对于非贪婪的比赛,试试这个 <TD.*?>
Chr*_*our 14
你想要的正则表达式是<TD[^>]*>:
< # Match opening tag
TD # Followed by TD
[^>]* # Followed by anything not a > (zero or more)
> # Closing tag
Run Code Online (Sandbox Code Playgroud)
注意:.匹配任何东西(包括空格)所以[.\s]*?是多余的和错误的[.]匹配文字.所以使用.*?.