我不知道为什么这个正则表达式不起作用。
假设我有以下两行:
1. A Refined Form Of Exercising power</a></h1></td>
2. A Refined Form Of Exercising power</h1></td>
我想选择那些不包含标签的行</a>
,这意味着搜索结果只会显示第二行。
我创建了一个正则表达式,但是不起作用:
(?:(?!<\/a>)).*
答案1
这个正则表达式应该有效:^((?!<\/a>).)*$
答案2
你想使用淬炼贪婪令牌但你打错了,点.
必须是里面非捕获组(并且不需要转义斜线不是正则表达式中的特殊字符):
(?:(?!</a>).)*
# here __^
如果要排除多个表达式,则必须使用替代方法:
(?:(?!</a>|</h1>|</td>).)*
或者
(?:(?!</(?:a|h1|td)>).)*
或者
(?:(?!</a>)(?!</h1>)(?!</td>).)*