1
xjx0524 Sep 16, 2015
\b 匹配单词边界
| 表示括号里两种情况是 或 的关系 比如 I 和 I'm |
2
caixiexin Sep 16, 2015
匹配的应该是类似
aBc aBc 这两种情况,第二个末尾比第一个多一个空格 |
3
imn1 Sep 16, 2015
it is 'new year'
it's 'new year' |
4
muzzy OP @xjx0524 表示括号里面的两个是或关系的话,一句话的结尾用.结束,那最后一个单词是怎么匹配到的呢。[a-zA-Z]这个与(\'[a-zA-Z]+|\b ) 也是或的关系?
|
6
rock_cloud Sep 16, 2015
给楼主推荐一个网站 https://regex101.com/
虽然是机器解释的,不过还可以看 |
7
jadecoder Sep 16, 2015
匹配 单引号+字母 或者 单词边界
|
8
theFool Sep 16, 2015
|
9
Biwood Sep 16, 2015 ① [a-zA-Z]+: 匹配所有大小写字母
② [a-zA-Z]+(\b ):在①的所有匹配结果中匹配一个单词边界 ③ [a-zA-Z]+(\'[a-zA-Z]+|\b ):由于 \b 会把 "it's" 这种情况当成两个单词,所有优先使用 \'[a-zA-Z]+ 进行匹配,若匹配失败,再使用 \b 进行匹配 |
10
Biwood Sep 16, 2015
接楼上,①应该是匹配连续的、一个或一个以上的大小写字母,所有 "it's" 被分成了两个
|
11
xjx0524 Sep 16, 2015
|
13
ljbha007 Sep 16, 2015
表示 小组内的或关系
|
14
Biwood Sep 17, 2015
抱歉的跟楼主说一声,我在 9 楼和 10 楼的分析是错误的。
[a-zA-Z]+(\'[a-zA-Z]+|\b ) 这个表达式可以用算术里的乘法分配律理解,相当于匹配 [a-zA-Z]+\'[a-zA-Z]+ 或 [a-zA-Z]+\b 这两种情况,是我想复杂了, sorry ,@xjx0524 的说法是正确的 |