正則表達式基础笔记

正則表達式就是用一个“字符串”来描写叙述一个特征,然后去验证还有一个“字符串”是否符合这个特征

http://www.regexper.com/ 可将正則表達式转化成图形

以下来看看正则的基本使用方法

^-匹配字符串的開始

$-匹配字符串的结束

eg: ^regex$匹配字符串regex

d-匹配数字

?-反复0次或1

*-反复0次或多次

+-反复1次或多次

{n}-反复n

{n,}-反复n次或多次

{n,m}-反复nm

eg: d?匹配数字0次或1

eg: d{5,}匹配数字5次或很多其它次

[xyz]-匹配x、y或z

eg: [123]匹配数字1、23

eg: [0-9]匹配0-9的数字

eg: [0-9]{5}匹配5个数字

eg: [a-zA-Z0-9]匹配字母或数字

eg: [a-zA-Z0-9]{5}匹配5个字母或数字或字母和数字的组合

事实上

?等价于{0,1}

*等价于{0,}

+等价于{1,}

d等价于[0-9]

[xyz]仅仅能匹配单个元素,假设想匹配12、34怎么办呢?

能够使用()

()-子表达式

eg:(12|34)匹配12或34

eg:^qq(d{5,11})?

$匹配qqqq123456

w-匹配字母、数字、下划线、汉字

.-匹配除换行以外的随意字符

s-匹配空白符

-匹配单词的開始或结束的位置

W-匹配除字母、数字、下划线、汉字以外的字符

S-匹配非空白符的字符

D-匹配非数字的字符

B-匹配非单词開始或结束的位置

[^x]-匹配除x以外的随意字符

[^xyz]-匹配除x、y、z以外的随意字符

两个简单的样例:

注冊账号时。账号仅仅能包括字母或数字,长度为5-10位:[a-zA-Z0-9]{5,10}

通过http://www.regexper.com/将此正則表達式转化成图形


简单的邮箱验证:^[^.@]+@[^.@]+.[a-z0-9]+$


原文地址:https://www.cnblogs.com/mfmdaoyou/p/6699823.html