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