正则匹配问题

<li><a href="xxx" title="xxx" target="_blank"><span >xxx</span></a><img src="xxx" border="0" alt="xxx" /></li>

这种正则匹配如何写

阅读 2.1k
3 个回答
pattern = /<li\s*>\s*<a\s+href="(.*)"\s+title="(.*)"\s+target="(.*)"\s*>\s*<span\s*>(.*)<\/span>\s*<\/a>\s*<img\s+src="(.*)"\s+border="(.*)"\s+alt="(.*)"\s*\/>\s*<\/li>/i
target = `<li><a href="xxx" title="xxx" target="_blank"><span >xxx</span></a><img src="xxx" border="0" alt="xxx" /></li>`
target.match(pattern)
/*
Result => 
[ '<li><a href="xxx" title="xxx" target="_blank"><span >xxx</span></a><img src="xxx" border="0" alt="xxx" /></li>',
  'xxx',
  'xxx',
  '_blank',
  'xxx',
  'xxx',
  '0',
  'xxx',
  index: 0,
  input: '<li><a href="xxx" title="xxx" target="_blank"><span >xxx</span></a><img src="xxx" border="0" alt="xxx" /></li>' ]
*/

正则解析HTML文档并不是一个好的选择,可以找找HTML DOM的parse库

你要匹配啥?

新手上路,请多包涵

看你的目的把 ,统一的话 匹配首位就可以了,中间 *

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