[英]How to match anything between * but not match * * *
我正在使用以下正则表达式来匹配*
之间的任何内容:
/\*([^*]*)\*/g
它应该匹配这个:
*text*
*text*
*text text
text*
如果一行中有* * *
,匹配就会出错:
*text*
* * *
*text*
*text text
text*
防止* * *
搞砸比赛的最简单方法是什么? 换句话说,不匹配* * *
?
捕获正则表达式,如... /[*\s+]*\*([^*]+)\*/g ... 由matchAll
执行,另外map
ping 完成了这项工作...
const sampleText = `*foo* * * * *bar* *baz* *biz**buz* *foo bar baz**biz buz*`; // [https://regex101.com/r/maKxyJ/1] const regX = (/[*\s+]*\*([^*]+)\*/g); console.log( [...sampleText.matchAll(regX)].map(([match, capture]) => capture) );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.