为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式创建万分感谢

正则表达式创建万分感谢

潇潇雨雨 2019-10-16 09:57:24
declaremodule'api/*'{exportconstgetPaperInfo:any;}这段代码如何使用正则表达式表达,花括号中的值可以为任意值
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

因为js正则好像不能连续行的匹配,所以先去掉换行符,再处理
varstr=`declaremodule'api/*'{
exportconstgetPaperInfo:any;
}`;
//改为单行字符串
str=str.replace(/\n/mg,'');
//正则匹配
varmatch_array=str.match(/declaremodule\'api\/\*\'{(.*?)}/);
console.log(match_array[1]);
结果:
"exportconstgetPaperInfo:any;"
                            
查看完整回答
反对 回复 2019-10-16
?
阿晨1998

TA贡献2037条经验 获得超6个赞

单纯一个正则表达式目测无解,或者会超级复杂。因为要界定结尾的}是异常困难的,因为你不知道花括号里面到底有没有}字符,或者花括号里面存在字符串里面有任意多的}字符。
举个例子
declaremodule'api/*'{
if(1){
while(1){
try{
str="}}}}}}}}}}}}}"//如果是任意内容,唯有按语法进行解析才是正道,一个正则想搞定,门都没有~
}
}
}
}
                            
查看完整回答
反对 回复 2019-10-16
  • 2 回答
  • 0 关注
  • 265 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号