-
元字符
-
^
: 匹配一行行首 -
$
: 匹配一行行末 -
.
: 匹配任何字符-
2016
.
3.
28匹配2016-3-28
,2016/3/28
,2016.3.28
-
2016
-
|
: 多选结构元字符- 例如
a|b
这个整体是一个多选结构
,a
和b
分别表示多选分支
;
([Ff]ir|1)st
匹配First
和first
和1st
;^(A|B|C):.*
匹配
以A:
或者B:
或者C:
开头的行
- 例如
-
\<
和\>
: 匹配单词的开始和结束的位置,但是某些版本的egrep
可能不支持。 -
(
和)
: 限制多选项|
的范围;将若干字符组合为一个单元,受量词的作用进行匹配。- 例如
([Ff]ir|1)st
,在这里()
用来限制|
的范围。 - 例如
([A-Z]){3,6}
,在这里()
受量词的作用可以匹配3-6个大写字母。 -
括号的反向引用:所谓括号的反向引用,就是指正则表达式里面括号的内容
是被正则表达式记住的,括号以(
作为开始,从左到右开始数,每个括号的内容分别
可以使用\n
来表示,其中n
就是你想要匹配的第几个括号的内容。- 例如
([A-Za-z0-9]{3,6})-\1
可以匹配3至6个数字和字母然后是一个横线,
最后是一个和上面匹配内容一样的内容。
- 例如
- 例如
-
?
: 量词表示可以不出现,也可以只出现一次。 -
+
: 量词表示至少出现一次。 -
*
: 量词表示可以出现任意次数。 -
{
和}
: 表示区间,表示紧跟在前面的元素出现的次数的限制。-
[0-9]{6,11}
可以匹配6-11位数的数字。
-
-
-
转义符
-
\
,反斜线转移符,一般情况下元字符的前面加上一个转义符就变成了它的文本意思;例如
\.
表示的就只是一个点,而不表示所有的字符。
-
-
字符组
- 匹配若干字符之一(只能匹配一个)
-
[a]
匹配字符a
-
[ab]
匹配字符a
或者b
但只能匹配一个 -
h[ea]ll[oe]
匹配hello
和hallo
和helle
还有halle
-
字符组元字符
-
-
-
-
在字符组内表示一个范围。例如[0-9]
等同于[0123456789]
,只有连续的字符(符合ASCII码顺序)是可以使用字符组元字符-
来进行连接的。 - 示例:
[A-Fa-f0-9]
等同于[ABCDEFabcdef0123456789]
可以匹配其中里面的任何一个字符。 -
-
在字符组内如果是第一个字符的话,那么它就不是元字符。也只是一个普通的字符。
-
-
^
-
^
在字符组内表示这个字符组会匹配任何未列出的字符。 -
^
这个字符一定要放在字符组内的第一位才表明它是一个字符组元字符,不然就不是。 -
[^1-9]
表示匹配字符[123456789]
以外的所有的单个字符。
-
-
Day 1 - Learn Regular Expressions
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 正则表达式有很多流派,也有很多的特性,不同的语言支持度也是不一样的。本篇文章是写Python中的正则表达式的用法的...
- 魔道祖师同人小萌文 【本来昨天要发的,结果昨天打着字就睡着了……算了,十五的月亮十六圆,十五的故事今天讲,迟到的中...