正则表示是<3>

源字符串为:slkdfklsdfnllknv_1156sdnjkv,+5622fdsgwer

1. 表示单个字符:

现在呢,你用(.)的话,它会匹配任意的字符,上面的所有单个字符都可以匹配,这样太笼统了。如果你想匹配字符s的话,就需要精确点了,可以简单的使用(s),可以源字符串有四处可以匹配。

一个(s)可以匹配一个字符s,一个(.)可以匹配一个任何的字符,如果你想匹配的一个类型的字符,譬如数字,可以用(\d),这时就用到了为字符范围设计的东西了。

(\d) 表示数字

(\w) 表示字(英语中的字,也就是a~z,A~Z,和数字)

(\s) 任何空格字符(例如:空格,制表符)

如果你不想使用已经设定好的范围,想自己设计,也是可以的,,例如:你想找到1到7当中的任意一个数字,可以使用([1-7]),记住这个格式,两个方括号,中间放置范围,用(-)连接,,再例如:你想匹配a、b、c、d中的任意一个可以使用([a-d]),注意到了吧,使用这个范围时,必须要是连续的范围。。

注意:

在正则引擎眼中,有两种字符,1. 正常字符 2. 被潜潜规则了的(即解释为其他意思)。为什么要潜它们,自己想吧。

上面那几个表示范围的字符都使用(\),\就是已经被潜规则了的字符,当然,还有其他已经被潜了的字符,大概有10多个字符吧,,,包括这个字符()和上面的介绍的(.)包括下面要介绍的量词等。。

值得注意的是:\和其他被潜的字符有点不同,其他字符被潜了就是被潜了,但是他们不会“助纣为虐”,而确帮着正则引擎潜别的字符,,例如上面的d、w,他们被潜后,就变了个人似的。

也可以解救所有已经被潜了的字符,包括它自己。(\\),(\.)可以匹配\和.。


2. 表示多个字符:

上面都是匹配一个字符,如果你想匹配两个连续的字符呢?那就用两个连续的字符,(ll)可以匹配,并且此时只有一处可以匹配。如果想匹配三个呢,就用三个l,n个呢,就用n个。这样是不是太麻烦了。。所有呢,正则引擎又多潜了几个字符来表示匹配次数,即量词。

(*) 0~n次

(+) 1~n次

(?) 0~1次

({m,n}) m~n次


例如:(m{3,5}),可以匹配3到5个连续的m,(m*)可以匹配0到n个m。

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...