正则表达式替换不在引号内的字符串(单或双)

正则表达式替换不在引号内的字符串(单或双),第1张

正则表达式替换不在引号内的字符串(单或双)

试试这个正则表达式:-

"or(?=([^"']*["'][^"']*["'])*[^"']*$)"

它与之匹配

or
后跟任意字符,后跟一定数量的或 ,后跟任意字符,直到最后。
"``'

String str = "this or "that or" or 'this or that'";str = str.replaceAll("or(?=([^"']*["'][^"']*["'])*[^"']*$)", "||");        System.out.println(str);

输出:-

this || "that or" || 'this or that'

or
如果您与
"
和不匹配,上述正则表达式也将替换
'

例如:-

"this or "that or" or "this or that'"

它也将替换

or
上述字符串。如果您不希望在上述情况下替换它,则可以将正则表达式更改为:-

str = str.replaceAll("or(?=(?:[^"']*("|')[^"']*)*[^"']*$)", "||");


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5426943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存