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