Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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-RegEx替换美元符号之间的文本_Java_Regex - Fatal编程技术网

Java-RegEx替换美元符号之间的文本

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://

我正在使用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://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必须考虑到这一点。毕竟这是有效的。我也不是说你的解决方案有缺陷。我只是想把它放在那里作为老年退休金计划的信息。