JavaScript 正则字符组匹配问题

clipboard.png

一个正则表达式中只有一个字符组时,匹配规则是怎样的呢?

阅读 1.9k
1 个回答
  1. 首先需要明确一下就是字符组,可以理解为你要匹配什么内容,在字符组里面进行标识
  2. 字符组仅仅匹配从当前位置可能会出现的字符,也就是说它仅仅匹配的是一个位置

比如你觉得例子中[adw]去匹配ad时,它是从左侧往右侧进行匹配的,首先第一次匹配a发现在[adw]字符组中存在该元素标识匹配成功一个内容,然后再从a与d位置重新进行匹配发现元素d在字符组中,则表示匹配元素直到碰到结尾符位置,正则表达式匹配结束
正则表达式测试结果:
clipboard.png
总结一下:

  1. 字符组代表的是匹配元素内容
  2. 当仅有字符组是数量代表匹配一次
  3. 字符组匹配的是一个位置
  4. 总结一句话就是,[]字符组表示在同一个位置可能出现的各种字符,也就是说它的匹配结果只能是一个字符,不能是多个

根据刚才你说的那个问题做了一个小的分析:

clipboard.png

如上图所示如果没有指定匹配内容,里面猜测是匹配的undefined这个字符串,然后导致匹配了内容,从左往右数
位置是这样的0 u 1 n 2 d 3 当匹配完了d后正则表达式的位置会移动到d和e之间,也就是3索引。
可以看一下笔者的正则表达式文章:浅析正则表达式—(原理篇)
希望能帮你解惑~!

ru'gu

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