栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

试试这个正则表达式:-

"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(?=(?:[^"']*("|')[^"']*\1)*[^"']*$)", "||");


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号