我有一个输入字符串正则表达式替换字符串没有引号(单人或双人)
这样或内“即或”或者“这个或那个”
应该被翻译成
此|| “那或”|| “这个或那个”
因此,尝试查找字符串中的字符串(或)并将其替换为另一个字符串(||)。我曾尝试下面的代码
Pattern.compile("(or)(?:('.*?'|\".*?\"|\\S+)\\1.)*?").matcher("this or \"that or\" or 'this or that'").replaceAll(" || ")
输出是
此|| “那或”|| '这||那'
问题是单引号内的字符串也被替换。 对于代码,风格仅仅是一个例子。我将编译这个模式并在我使用它的时候重用它。
你需要避免在单或双引号检查 - 如果你想让它不是在上述情况下更换,可以正则表达式改变。 – Fyre