Java-RegEx替换美元符号之间的文本
我正在使用JAVA,希望替换美元符号之间的每个文本实例。例如:Java-RegEx替换美元符号之间的文本,java,regex,Java,Regex,我正在使用JAVA,希望替换美元符号之间的每个文本实例。例如: 1st equation $\frac{1}{\mu -1}\frac{2\pi }{\lambda }x$ 2nd equation $90^{^{0}}$ 3rd equation $\frac{\mu t}{2}$ 4th equation $2\mu tcosr=\frac{\left ( 2n+1 \right ) \lambda}{2}$ 取而代之的 1st equation <img src="http://
1st equation $\frac{1}{\mu -1}\frac{2\pi }{\lambda }x$
2nd equation $90^{^{0}}$
3rd equation $\frac{\mu t}{2}$
4th equation $2\mu tcosr=\frac{\left ( 2n+1 \right ) \lambda}{2}$
取而代之的
1st equation <img src="http://latex.codecogs.com/gif.latex?$\frac{1}{\mu -1}\frac{2\pi }{\lambda }x$ " border="0"/>
2nd equation <img src="http://latex.codecogs.com/gif.latex?$90^{^{0}}$" border="0"/>
3rd equation <img src="http://latex.codecogs.com/gif.latex?$\frac{\mu t}{2}$" border="0"/>
4th equation <img src="http://latex.codecogs.com/gif.latex?$2\mu tcosr=\frac{\left ( 2n+1 \right ) \lambda}{2}$" border="0"/>
1方程
第二方程
第三方程
第四方程
我在stackoverflow.com上搜索,找到了与C#.NET类似的东西在C#中使用的正则表达式与Java相同,只是需要双转义$
"\\$([^\\$]*)\\$"
C#中使用的正则表达式与Java中使用的正则表达式相同,只是需要双转义$
"\\$([^\\$]*)\\$"
我相信会是这样的
myString.replaceAll("\\$[^$]*\\$",
"<img src=\"http://latex.codecogs.com/gif.latex?$0 \" border=\"0\"/>"
myString.replaceAll(“\\$[^$]*\\$”,
""
替换字符串中的$0
应与搜索正则表达式中的捕获组相匹配
我相信会是这样的
myString.replaceAll("\\$[^$]*\\$",
"<img src=\"http://latex.codecogs.com/gif.latex?$0 \" border=\"0\"/>"
myString.replaceAll(“\\$[^$]*\\$”,
""
替换字符串中的$0
应与搜索正则表达式中的捕获组相匹配
双重转义
$
像\\$
一样。双重转义$
像\\$
一样。感谢您的快速响应,但我希望每个实例都能重复使用确切的代码。我理解,但我认为如果您知道如何在Java中使用正则表达式,这就足够了。对不起,我不会给您复制粘贴它的代码。)我没有要求代码复制粘贴,我不确定如何引用匹配的组。例如,$0
哦,我明白了,你没有在评论中指定。我认为JohnB的回答已经向你展示了如何使用。感谢你的快速响应,但我希望准确的代码可以针对每个实例进行迭代。我理解,但我认为如果您知道如何在Java中使用正则表达式。我不会给您复制粘贴的代码,抱歉;)我不是要求复制粘贴的代码,我不确定如何引用匹配的组。例如,$0
哦,我明白了,你在评论中没有指明这一点。我认为JohnB的答案已经告诉了你如何使用。你不需要在character类中避开美元符号。此外,如果您没有使用$1
,也可以删除括号。最后,请注意,这不考虑输入字符串中的转义$
。如果匹配包含“
”,这可能会导致无效的HTML,但我认为这是OP方法的一个问题但是请注意,您指的是什么。类似于$this\$应该只\$给\$one\$match$
这样的东西,所以您假设这可能是一个有效的输入字符串。我在示例中没有看到。但是,如果可能的话,OP必须考虑到它。它毕竟是有效的。我也不是想说您的解决方案有缺陷。我只是希望它用于OPs信息。您不需要在字符类中转义美元符号。此外,如果您没有使用$1
,也可以删除括号。最后,请注意,这不会处理输入字符串中转义的$
。这可能会导致无效HTML如果匹配项包含“
”——但我认为这是OP方法的问题。好的观点(更新)不管怎样,你指的是什么,比如$this\$应该只\$给\$one\$match$
,所以你假设这可能是一个有效的输入字符串。我在示例中没有看到这一点。然而,如果可能的话,OP必须考虑到这一点。毕竟这是有效的。我也不是说你的解决方案有缺陷。我只是想把它放在那里作为老年退休金计划的信息。