正则表达式

正则表达式

点号应用之简单的数据提取

利用点匹配我们想要的数据并提取出来可以匹配任何一个单字符除换行符外

1个点号只能匹配字符,如123456789abcde… .等,必须为半角的如果想要匹配全半数字,字母,或汉字,就必须要2个点号

星号正则的认识与应用

*星号表示之前的元素出现任意次数或0次

比如: 4.*8我们来看一下他是什么意思,星号出现在点号的后面,这代表点号有出现也行,没有出现也行:

打个比方,他可以匹配48、41238、412345678、4012345670123458

问号和加号的认识与应用

1617009958851

连字符和范围描述符的认识与应用

在学习"-"连字符前,我们先来认识一个强大的符号: [ ], 这个[ ]所括的内容,可以不按顺序进行匹配。[] 范围描述符 范围描述符。如: [a-z]表示从a到z之间的任意一个。

- 连字符

A一般都与"[]”起使用,只有连字符在字符组内部

时,并且出现在两个字符之间时,才能表示字符的范围;如果出现在字符组的开头,则只能表示连字符本身

例如:

[0-9]匹配任意0到9的数字

[a-z]匹配所有小写字母

[A-Z]匹配所有大写字母

当然,你可以把它们混在一起写成[a-z0-9]、[0-9a-zA-z]的样 子都可以下面我们举2个例子就明白了

必从一个网页源码中,区分出数字并提取出来

脱字符^和美元符$的认识与应用

1617012879072

排除:[^1-9]匹配除了1到9的数字,其他的都可以匹配

转义符\的认识与应用

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

如果需要匹配的某个字符本身就是元字符(如:.?*+) ,正则表达式将如何处理呢?

比如:我想要检索互联网的主机名,也就是我们说的网址,如: www.23 .com我们的正则语句要怎么写呢?

想的快的会员就会说,我直接就用www.23.com来匹配点号可以匹配任何字符包括点号本身,当然, 这样是可以匹配到。

但是,如果有www123.com

www223. com它们同样也会被匹配出来,唯一的解决办法就是把点号用转义符转换成他自身。

字符组简记法

1617019185120

1617019408172

大括号与选择符的认识与应用

1617020477744

子表达式的认识与应用

1617026254233

贪婪和懒惰的匹配

1617028212400

通配符匹配规则:
* :任意数量的字符
?:任何单个字符
正则 匹配规则:
* 前面元素出现0次以上
. 匹配任何单个字符
? 前面元素出现0次或1次
+ 前面元素出现1次以上
^ 表示开头。
$ 表示结尾。
.* 表示0个以上的任意字符。
[ ] 范围描述符。[a-z]表示从a到z之间的任意一个。
\w 英文字母和数字。即[0-9 A-Z a-z]。
\W 非英文字母和数字
\s 空字符,即[\t\n\r\f]。
\S 非空字符。
\d 数字,即[0-9]。
\D 非数字。
\b 词边界字符(在范围描述符外部时)
\B 非词边界字符
\b 退格符(0x08)(在范围描述符内部时)
{m,n} 前面元素最少出现m次,最多出现n次
| 选择
( ) 群组
其他字符 该字符本身