猿问

正则表达式创建万分感谢

declaremodule'api/*'{exportconstgetPaperInfo:any;}
这段代码如何使用正则表达式表达,花括号中的值可以为任意值
潇潇雨雨
浏览 266回答 2
2回答

温温酱

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

阿晨1998

单纯一个正则表达式目测无解,或者会超级复杂。因为要界定结尾的}是异常困难的,因为你不知道花括号里面到底有没有}字符,或者花括号里面存在字符串里面有任意多的}字符。举个例子declaremodule'api/*'{if(1){while(1){try{str="}}}}}}}}}}}}}"//如果是任意内容,唯有按语法进行解析才是正道,一个正则想搞定,门都没有~}}}}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答