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

JS Split正则表达式无法整体输出

JS Split正则表达式无法整体输出

慕标5832272 2019-03-21 13:40:43
问题描述字符串内容:test<br />&gt;&gt;No.17132905<br />bbb<br />&gt;&gt;No.17132905<br />test想通过split分割为:['test<br />', '&gt;&gt;No.17132905', '<br />bbb<br />', '&gt;&gt;No.17132905', '<br />test']现在我使用下面的匹配方法:text.split(/(((&gt;){2}|>{2})(No\.){0,1}\d{1,11})/g);实际输出的是:['test<br />',  '&gt;&gt;No.17132905',  '&gt;&gt',  '&gt;',  'No.',  '<br />bbb<br />',  '&gt;&gt;No.17132905',  '&gt;&gt;','&gt;','No.','<br />test']问题出现的环境背景及自己尝试过哪些方法React-Native 0.58
查看完整描述

2 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

所以这里你的原因是子表达式过剩导致的,除了最外层的括号里面的括号都要不得,那么这个正则可以这么写:

'test<br />&gt;>No.17132905<br />bbb<br />&gt;&gt;No.17132905<br />test'.split(/((?:&gt;|\>){2}No\.\d{1,11})/)

使用(?:pattern)的格式匹配 pattern 但不获取匹配结果。


查看完整回答
反对 回复 2019-03-21
?
ITMISS

TA贡献1871条经验 获得超8个赞

https://img1.sycdn.imooc.com//5c9323fa0001927b08000350.jpg

查看完整回答
反对 回复 2019-03-21
  • 2 回答
  • 0 关注
  • 403 浏览
慕课专栏
更多

添加回答

举报

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