Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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/20.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
Regex动态替换java中的文本_Java_Regex - Fatal编程技术网

Regex动态替换java中的文本

Regex动态替换java中的文本,java,regex,Java,Regex,我想做的是做如下的事情: some random stuff substitute("random stuff","xxx") test 替换为以下内容: some xxx test 如果我使用: substitute\((.*?)*\) 我找到了部分,但我最终想要的是多个组,其中第一组是要搜索的文本,第二组是要替换的文本。我希望它足够通用,所以我不依赖于,,因为它可以出现在任何地方。是否有一个正则表达式可以适用于所有情况,或者我应该依赖“”来获得我需要的东西?没有测试过它,但您可以尝试一

我想做的是做如下的事情:

some random stuff substitute("random stuff","xxx") test
替换为以下内容:

some xxx test
如果我使用:

substitute\((.*?)*\)

我找到了部分,但我最终想要的是多个组,其中第一组是要搜索的文本,第二组是要替换的文本。我希望它足够通用,所以我不依赖于
,因为它可以出现在任何地方。是否有一个正则表达式可以适用于所有情况,或者我应该依赖“”来获得我需要的东西?

没有测试过它,但您可以尝试一下

\w*\(\"(.*)\".*\"(.*)\"\)
如果替换中的顺序没有改变,则在第一组中有搜索,在第二组中有替换项。
是的,我看不到其他方法,但取决于()和“”。

您需要一个正则表达式吗?似乎首先找到
substitute(…)
部分更容易,然后执行它在第二次调用中指定的替换,然后删除
substitute(…)
位。不能使用StringI的
replace
方法,我可以分两步完成。我真正困惑的是如何轻松获取第一个和第二个参数,特别是如果参数可以包含任何内容,逗号,()等等。我认为,要在一步中完成,您需要通过回溯使用前向引用,但这将是一项详尽的任务。或者我应该依靠“”来获取我需要的内容吗?如果实现起来很简单,那么获取参数就很容易了。谢谢Ben。需要针对不同的组合进行更多的测试,但似乎在基本测试上做到了这一点。非常感谢您的帮助。我对特定角色前后的空格做了一些细微的修改,这是非常重要的,但是这种方法在一般情况下非常有效。再次感谢你的帮助。