如何使用正则表达式匹配Java中的HTML标记内容
我想要实现的目标:如何使用正则表达式匹配Java中的HTML标记内容,java,regex,Java,Regex,我想要实现的目标: <div> <div>Hello $world$</div> <div>Another text <!-- $example$--></div> </div> <div> How are $you$? </div> <!-- <div> Lorem ipsum $dolor$ sit </div> -
<div>
<div>Hello $world$</div>
<div>Another text <!-- $example$--></div>
</div>
<div>
How are $you$?
</div>
<!--
<div>
Lorem ipsum $dolor$ sit
</div>
-->
我想匹配评论之外的某些明确内容
一个例子:
<div>
<div>Hello $world$</div>
<div>Another text <!-- $example$--></div>
</div>
<div>
How are $you$?
</div>
<!--
<div>
Lorem ipsum $dolor$ sit
</div>
-->
你好$world$
另一个文本
你美元多少?
我想匹配的单词:$world$
,$you$
我不想匹配的单词:$example$
,$dolor$
到目前为止,我只能全部或全部匹配
我不能做的事:
<div>
<div>Hello $world$</div>
<div>Another text <!-- $example$--></div>
</div>
<div>
How are $you$?
</div>
<!--
<div>
Lorem ipsum $dolor$ sit
</div>
-->
我无法删除所有注释,因为它需要提供我筛选的源代码 我无法告诉您的代码来自何处,但您需要将页面读入字符串或字符串[],然后在其上运行正则表达式以提取要筛选的字符串 如何在java中使用带有正则表达式的流:
<div>
<div>Hello $world$</div>
<div>Another text <!-- $example$--></div>
</div>
<div>
How are $you$?
</div>
<!--
<div>
Lorem ipsum $dolor$ sit
</div>
-->
如何在java中使用正则表达式:
<div>
<div>Hello $world$</div>
<div>Another text <!-- $example$--></div>
</div>
<div>
How are $you$?
</div>
<!--
<div>
Lorem ipsum $dolor$ sit
</div>
-->
在部署正则表达式之前测试它:
<div>
<div>Hello $world$</div>
<div>Another text <!-- $example$--></div>
</div>
<div>
How are $you$?
</div>
<!--
<div>
Lorem ipsum $dolor$ sit
</div>
-->
添加替换
/(?:<!--.*?-->)|($.*?$)/gsm
^
/(?:)|($.*?$)/gsm
^
然后检查第一个捕获组中是否有任何内容。你能提供一个不起作用的代码示例吗?你能指定你使用的正则表达式,但没有提供你希望的结果吗?最后我以以下内容结束:
/(?:)($.*?$)/gsm
但它肯定与我想要匹配的不匹配:)添加替换(/(?:)|($.*?$)/gsm
,注意中间的
)并检查第一次捕获中是否有任何内容group@DmitryEgorov它成功了!谢谢你。你能把你的评论作为答案发表吗?这样我就可以把我的问题标记为已解决。避开$
,尤其是第二个问题,可能是个好主意。