正则表达式
27.9正则表达式
1、概念:是指一个用来描述或者匹配一系列符合某个语法规则的字符串,其实就是一种规则。
2、案例演示:
校验QQ号码:
a.要求是5-15位数字
b.0不能开头
c.必须都是数字
采用非正则表达式实现如图1所示:
采用正则表达式实现如图2所示:
3、字符类的正则表达式:详见API
字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
程序演示如图3所示:
4、预定义字符:详见API
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
程序演示如图4所示:
5、正则表达式切割功能,如图5所示:
6、把给定字符串中的数字排序
如图6所示:
7、使用正则表达式的替换功能:
程序演示如图7所示:
27.10正则表达式的分组功能
1、叠词的实现,如图8所示:
2、按照叠词切割:“sdqqfgkkkhjppppkl”
如图9所示:
3、替换:
需求:"我我...我...我.要.要要...要学...学学..学.编.遍遍.编程.程.程..程"
将字符串还原成:“我要学编程”
演示如图10所示:
感谢支持,我是小区学习录,喜欢点关注。每天根据小编的学习,持续分享学习的笔记与心得。
领取专属 10元无门槛券
私享最新 技术干货