... <tr class="GridRow_Business"> **[important info]** </tr> ...
我如何可以匹配一切除了[important info]
?负正则表达式匹配去除不需要的代码
我想:它
(?!\{)Row_Business">(.*?)</tr>(?!\})
和类似的变化,但没有运气。
... <tr class="GridRow_Business"> **[important info]** </tr> ...
我如何可以匹配一切除了[important info]
?负正则表达式匹配去除不需要的代码
我想:它
(?!\{)Row_Business">(.*?)</tr>(?!\})
和类似的变化,但没有运气。
^[^<]*(<tr[^>]+Row_Business\">)([^<]+)(</tr>)
这匹配了3组中的所有内容。
你可以因此得到你需要\1\3
编辑
基于在评论中refiddle例如正则表达式现在是:
(<tr[^>]+Row_Business\">)(?:[\n\t]*.*[\n\t]*)*?(</tr>)
这2组相匹配的一切。第二组圆括号现在是一个非捕获组,并且在该组之后使该组不会变得非贪婪。再次,基于提供的refiddle示例,使用\1\2\n\t
将返回:
<tr class="GridRow_Business"></tr>
<tr class="GridAltRow_Business"></tr>
<tr class="GridRow_Business"></tr>
<tr class="GridAltRow_Business"></tr>
0 matches ... http://refiddle.com/refiddles/537e22d875622d263dcc0500 –
@overdriven它不会因为你的refiddle例子是多行的。查看编辑答案 – garyh
@garyh您可以通过在非捕获组中使用[\ s \ S]来验证RegEx。我还建议转移第二个捕获组中的正斜杠:(
我不确定要得到你想要的。用'\ 1'替换'(?s)。*(<重要信息>)。*'是否有用? – Robin