JavaScript 求教,这个正则的匹配规则是什么?

xdushepherd · 2016年03月20日 · 最后由 1272729223 回复于 2016年04月27日 · 2086 次阅读

rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]|#([\w-]))$/

上面这个正则是什么意思,看了半天看不懂,求教

匹配 html 起始标签

在线正则测试解析网站 https://regex101.com/

const pattern = /^(?:\s*(<[\w\W]+>)[^>]|#([\w-]))$/
/^ (?:  \s* (  <[\w\W]+>   )  [^>] | # (  [\w-]  )   )$/
  • // 区间为正则表达式
  • ^()$ 匹配从开头至结尾所有的内容
  • (?:) 该匹配不记结果,就是你用pattern.exec("some string"),就算匹配成功,但不反回匹配结果
  • \s* 匹配0至多个空白符号
  • (<[\w\W]+>) 匹配<whatever>, 即: 尖括号之内至少有一个[A-Za-z0-9_][^A-Za-z0-9_]字符,并且返回结果
  • [^>]>
  • |
  • # 匹配#符号
  • ([\w-]) 匹配`[A-Za-z0-9_]-,并且返回结果.

大致能匹配到的字符串是:

"    <a   >#" 
"   <b      >-"
"   <c    >0"
"<d>z"
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册