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

Regex JS:在两个相同的单词之间搜索

Regex JS:在两个相同的单词之间搜索

慕姐8265434 2021-11-25 16:15:14
我有一个很长的文本,其中包含一些标签来突出显示之间的文本。我需要匹配这些标签之间的文本。这是标签列表:CA | 欧 | TC。所以我这样做了:\[[CA|OU|TC]+\][\s\S]*?\[-[CA|OU|TC]+\]它正确匹配这些字符串[CA] bla bla [-CA][OU] bla[-OU][TC] blabla [-TC]问题是我只需要在标签相同的情况下进行匹配。它不应与以下内容匹配。[CA] bla bla [-OU]有任何想法吗?谢谢你。
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

您可以使用


\[(CA|OU|TC)][\s\S]*?\[-\1]

请参阅正则表达式演示。


在(CA|OU|TC)形成一个捕获组和\1相同的值相匹配。


var s = '[CA] bla bla [-CA] [OU] bla[-OU] [TC] blabla [-TC]] [CA] bla bla [-OU]';

var rx = /\[(CA|OU|TC)][\s\S]*?\[-\1]/g;

console.log( s.match(rx) );


查看完整回答
反对 回复 2021-11-25
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信