匹配单个字符
-
.
可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符。
-
.
是元字符,表示它有特殊含义,而不是字符本身的含义。
- 如果需要匹配.,那么要用进行转义,即在.前面加上。
- 正则一般区分大小写的,但是也有些实现不区分。
匹配一组字符
-
[]
定义一个字符集合。
-
0-9
、a-z
定义了一个字符区间,区间使用ASCII
码来确定,字符区间在[]
中使用。
-
-
只有在[]
之间才是元字符,在[]
之外就是一个普通字符。
-
^
在[]
中是取非操作。
使用元字符
空白字符
元字符 |
说明 |
[\b] |
回退(删除)一个字符 |
\f |
换页符 |
\n |
换行符 |
\r |
回车符 |
\t |
制表符 |
\v |
垂直制表符 |
\r\n
是 Windows 中的文本行结束标签,在 Unix/Linux 则是 \n
。
特定字符
数字元字符
元字符 |
说明 |
\d |
数字字符,等价于[0-9] |
\D |
非数字字符,等价于[^0-9] |
字符数字字符
元字符 |
说明 |
\w |
大小写字符,下划线和数字,等价于[a-zA-Z0-9_] |
\W |
对\w取非 |
空白字符匹配
元字符 |
说明 |
\s |
任何一个空白字符,等价于[fnrtv] |
\S |
对\s取非 |
重复匹配
-
+
匹配一个或多个
-
*
匹配0个或多个
-
?
匹配0个或1个
匹配邮箱:
[\w.]+@\w+\.\w+
-
{n}
匹配n个字符
-
{m,n}
匹配m~n个字符
-
{m,}
至少匹配m个字符
位置匹配
单词匹配
-
\b
可以匹配一个单词的边界,边界是指位于\w
和\W
之间的位置;\B
匹配一个不是单词边界的位置。
-
\b
只匹配位置,不匹配字符,因此\babc\b
匹配出来的结果为3个字符。
字符串边界
-
^
匹配整个字符串的开头,$
匹配结尾。
-
^
元字符在字符集合中用作求非,在字符集合外用作匹配字符串的开头。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。