正则表达式 截取字符

今天使用炎黄BPM 遇到url 中含有变量$[],需要将其变量内容截取出来。源码匹配有误,使用贪婪表达式进行匹配到最后的 ] .导致变量识别出错。

var url ="/w?sid=@sid&cmd=CLIENT_DW_PORTAL&processGroupId=obj_ec5a4a8befbb4a9c95c945ae76bf6fa2&appId=com.awspaas.user.apps.xxx.finance&dwViewId=obj_71a5fb34ddf547fd8a9f61b9a6aa8d70&condition=[{cp:"=",fd:"DATA_STATE",cv:"1"},{cp:"=",fd:"LOAN_FORM",cv:"$[BO_EU_LOAN_INFO.APPLY_NO]"}]";
// 可以看出condition 是以 [] 作为条件的边界结束 其中参数中含有特殊变量$[BO_EU_LOAN_INFO.APPLY_NO]   目前就是为了截取BO_EU_LOAN_INFO.APPLY_NO
url .match(/\$\[(.+?)\]/)
RegExp.$1

查阅资料后发现
*、+ 限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。
https://www.runoob.com/regexp/regexp-syntax.html

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容