正则问题:只匹配第一次出现字符串,求指导?

<h3>yī</h3><ol><li>①<数>。《狼》:“一屠晚归。”</li><li>②<连>一边;一面。《兰亭集序》:“一觞一咏,亦足以畅叙幽情。”</li><li>③<形>同一;一样。《察今》:“古今一也。”</li><li>④<动>看作一样。《兰亭集序》:“固知一死生为虚诞,齐彭殇为妄作。”</li><li>⑤<动>统一。《阿房宫赋》:“六王毕,四海一。”</li><li>⑥<动>专一。《劝学》:“用心一也。”</li><li>⑦<副>全;一概。《岳阳楼记》:“而或长烟一空,皓月千里。”</li><li>⑧<副>一旦。《信陵君窃符救赵》:“公子诚一开口请如姬,如姬必许诺。”</li><li>⑨<副>才;刚刚。《赤壁之战》:“初一交战,操军不利。”</li><li>⑩<副>初次。《曹刿论战》:“一鼓作气。”</li><li>【一旦】⒈有一天。⒉一时;忽然。⒊形容时间很短。</li><li>【一何】多么。</li><li>【一力】⒈协力。⒉竭力。</li><li>【一体】关系密切,如同一个整体。一样,相同。</li><li>【一昨】前些日子。</li></ol>


匹配字符“【”前的<li>标签
正则:<li>(?=【)
匹配出5项,只想匹配第一个

求助1:正则如何匹配
2:B站找了挺多,没有相关教材或文章,哪里有相关或系统的学习资料?

回复
阅读 783
3 个回答

如果要匹配整个li标签可以试试这个
<li>((?!<\/li>).)*【.*?<\/li>

没看明白你的需求,只想匹配第一个,不要加 'g' 就行了。不过你拿到"<li>" 没啥用啊

const data = '....'

// => "<li>"
data.match(/<li>(?=【)/)[0]
新手上路,请多包涵

匹配整个li标签可以试试这个
<li>((?!</li>).)【.?</li>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏