试试这个正则表达式:-
"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(?=(?:[^"']*("|')[^"']*)*[^"']*$)", "||");
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)