我们需要匹配来自用户输入的文本,但明确拒绝任何不是<br>
的标签。正则表达式匹配没有标签,除了<br>
从其他stackoverflow帖子我可以找到相反的匹配,我需要什么(即它匹配的违规标签,而不是文本和其他标签)。由于受到限制,我们不能使用负逻辑来验证。正则表达式是:
<(?!\/?br(?=>|\s.*>))\/?.*?>
如果只包含“普通”文本和BR标签,是否可以匹配整个文本?
例如,这些应该符合:
bob
bob<br>bob
bob<br />bob
bob</br>
这些应该不匹配
bob<p>bob
bob<div>bob
bob</div>bob
感谢阿维纳什! – 2014-09-10 10:46:51
你的意思是这个http://regex101.com/r/dK5dX1/1?这个'<(?=\/?br(?=> | \ s。*>))\ /?。*?>'会和你提到的正则表达式相反。 – 2014-09-10 10:51:06
它出现某种原因似乎不能在Java中工作(对不起,应该说) - 在这里检查: - http://www.regexplanet.com/advanced/java/index.html – 2014-09-10 11:07:12