谁能解释一下这个正则表达式 \b((?abc)\w)+\b看了一篇教程,匹配不包含连续字符串abc的单词 但我还是看不懂怎样做到的

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 13:06:33

谁能解释一下这个正则表达式 \b((?abc)\w)+\b看了一篇教程,匹配不包含连续字符串abc的单词 但我还是看不懂怎样做到的
谁能解释一下这个正则表达式 \b((?abc)\w)+\b
看了一篇教程,匹配不包含连续字符串abc的单词
但我还是看不懂怎样做到的

谁能解释一下这个正则表达式 \b((?abc)\w)+\b看了一篇教程,匹配不包含连续字符串abc的单词 但我还是看不懂怎样做到的
应该是没理解(?!abc)的意义,!)匹配的是一个位置,不占用任何字符.
!abc)的意义就是从当前匹配到的位置起,接下来不是一个字符"a"接着一个字符"b"接着一个字符"c".
!abc)\w的意义是用(?!abc)来限定\w的匹配,从\w的位置起不能出现一个字符"a"接着一个字符"b"接着一个字符"c".
((?!abc)\w)+就是多个被限定的\w组成的单词,这个单词中肯定不会出现"abc".
再举个例子:
!office)[a-z]+2000:不匹配"office2000",匹配"windows2000"
!a11)a:匹配"a10a11a12"中的第一个和第三个"a"