javascript 正则表达式 - 组

我目前正在研究正则表达式组。我无法完全理解本书中组下的第一个示例。这本书给出了以下示例:

/(\S+) (\S*) ?\b(\S+)/

我知道这将最多匹配三个单词(由除空格以外的任何字符组成),其中第二个单词和空格是可选的。

我有困难理解的是边界条件的功能在第三个单词的开头开始最后一组的匹配。

当有三个词时 包含与否没有区别。

http://img.mukewang.com/60cc05c200017b9402780352.jpghttp://img1.mukewang.com/60cc05c80001bb7902770352.jpg

当只有两个词时,第 2 组和第 3 组之间存在差异

http://img.mukewang.com/60cc05d40001251402280349.jpghttp://img1.mukewang.com/60cc05dc0001b1a502170342.jpg

所以,我的问题如下

当有两个单词时,为什么存在\b导致group#2为空字符串,但不存在时导致group #2包含第二个单词减去最后一个字母,group #3包含最后一个字母第二个字?


慕桂英3389331
浏览 177回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript