基本常用正则表达式

基本正则表达式
表:
这里写图片描述

1.点号
. 可以匹配任何一个单字符,除换行符外
1个点号只能匹配字符,如 123456789abcde….等,必须为半角的
如果,想要匹配全半数字,字母,或汉字,就必须要2个点号

2. 星号

  • 星号 表示之前的元素出现任意次数或0次
    比如:4.*8 我们来看一下他是什么意思,星号出现在点号的后面,这代表点号有出现也行,没有出现也行;
    打个比方,他可以匹配 48、41238、412345678、4012345670123458

    3.问号与加号
    ? 问号 表示前面元素出现0次或1次

  • 加号 表示前面元素必须出现1次或1次以上

4.连字符

[ ] 范围描述符 范围描述符。如:[a-z]表示从a到z之间的任意一个。
- 连字符 一般都与”[ ]”一起使用,只有连字符在字符组内部时,并且出现在两个字符之间时,才能表示字符的范围;如果出现在字符组的开头,则只能表示连字符本身

例如:
[0-9] 匹配任意0到9的数字
[a-z] 匹配所有小写字母
[A-Z] 匹配所有大写字母
当然,你可以把它们混在一起写成[a-z0-9]、[0-9a-zA-z]的样子都可以
下面我们举2个例子就明白了
从一个网页源码中,区分出数字并提取出来

5. 脱字符与美元符
^ 脱字符 表示行的开头。
$ 美元符 表示行的结尾。

注意:^在字符组的头部,将转换成排除型字符
[^1-9] 匹配除了1-9的数字,其它的可以匹配

6. 转义符

\ 转义符 作用:把正则的元字符转换成元字符本身

如果需要匹配的某个字符本身就是元字符(如:.?*+),正则表达式将如何处理呢?
比如:我想要检索互联网的主机名,也就是我们说的网址,如:www.23.com
我们的正则语句要怎么写呢?我直接就用www.23.com来匹配,点号可以匹配任何字符,包括点号本身,当然可以匹配到。但是,如果有
www123.com www223.com 它们同样也会被匹配出来,唯一的解决办法就是把点号用转义符转
换成他自身。

\元字符本身
. \? *

7.大括号
大括号
| 选择符
{n} 前面的元素字符出现了n次
{n,} 前面的元素字符最少出现n次,n次以上
{m,n} 前面的元素最少出现m次,最多出现n次


简记:

\d = [0-9] 匹配0-9的任何数字
\D = [^0-9] 不匹配0-9的任何数字
\w = [0-9a-zA-z_] 匹配0-9和a-z的任何大小写字母
\W = [^0-9a-zA-z_] 不匹配0-9和a-z的任何大小写字母

\s [\t\n\r\f]空字符
\t 制表符
\n 换行符
\r 回车符
\f 换页符

\S 非空字符
\b 单词边界符,表示为单词的分界符
\B 非单词边界符

子表达式

什么是子表达式?
在表达式中,以( )2个小括号括起来的,我们称其为子表达式

注:子表达式的顺序是从左到右计算,以左括号”(”为标准

其他:

.* .+ {n,} 全部

*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复

猜你喜欢

转载自blog.csdn.net/yang10560/article/details/78567821
今日推荐