0

所以我有这个java String

<script type="text/javascript"  
    src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type='text/x-mathjax-config'>
    MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>

我想用"".

我正在做的是这样的:

.replaceAll("(<img[^>]*>)|(<script[^>]*>)", "")

但这不会 MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});在脚本标签之间删除。

上面的正则表达式也会查找所有<img>标签并将它们替换为"",我想为上面显示的<script>标签以及它们之间的所有内容实现相同的目标。

4

2 回答 2

1

这似乎工作

str = Pattern.compile("<img .+?</img>|<script .+?</script>", Pattern.DOTALL).matcher(str).replaceAll("");

请注意,您的 str 有 CRLF 这为什么是 DOTALL

于 2013-02-15T06:37:31.497 回答
0
If you want to replace part of the string between the tags to replace then try this.

string = string.replaceAll("(<script>.*?)Here is our keyword which should be replaced(.*?</script>)","$1Replaced with:$2");

如果您想用“”替换标签之间的所有内容,请尝试此操作。

s = s.replaceAll("(<script>).*?(</script>)","");
于 2013-02-15T06:41:36.610 回答