如何找到最短的字符串,首先应该返回它
我有这个字符串.我正在寻找td,其值包含关闭td的blabla.例如:
<tr blabla><td>blabla big content</td></tr><tr><td>thisisnot</td></tr>
Run Code Online (Sandbox Code Playgroud)
我只想要这个字符串
<tr blabla><td>blabla big content</td></tr>
Run Code Online (Sandbox Code Playgroud)
我在.net中使用这个正则表达式
<tr.*><td>blabla.*</td></tr>
Run Code Online (Sandbox Code Playgroud)
我是regex的新手......
任何人都可以告诉我出路.
正则表达式本质上是贪婪的 - 它会尝试匹配满足模式的最长字符串.
您需要在模式中使用非贪婪量词.因此,而不是"*"使用"*?",然后使用分组来"捕获"匹配.匿名捕获项目是通过将要捕获的组包含在一组括号中来完成的.以下似乎可以解决问题:
(<tr.*?><td>blabla.*?</td></tr>).*
Run Code Online (Sandbox Code Playgroud)
这将创建一个捕获组,您需要查询正则表达式结果.