Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用正则表达式匹配Java中的HTML标记内容_Java_Regex - Fatal编程技术网

如何使用正则表达式匹配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它成功了!谢谢你。你能把你的评论作为答案发表吗?这样我就可以把我的问题标记为已解决。避开
$
,尤其是第二个问题,可能是个好主意。