正则表达式

in 开发 with 0 comment

一行胜千言


\w 匹配任何ASCII单字符[a-zA-Z0-9]
\W 匹配任何ASCII单字符之外的字符
\s 匹配任何Unicode空白符
\S 匹配任何Unicode空白符之外的字符
\d 匹配任何数字[0-9]
\D 匹配任何数字之外的字符
[...] 匹配方括号中的所有字符
[A-Z]表示A-Z的任意一个字符
[^...] 匹配非方括号中的所有字符

[0-4]表示数字5-9 [^abc]表示非a或非b或非c的单个字符

. 匹配任何单个字符
{n} 匹配前一项n次

\d{3} 表示由3个数字组成的字符串

{n,} 匹配前一项至少一次,至多不限

\w{2,} 表示由a-z组成的长度至少为2的字符串

{n,m} 匹配前一项至少n次,至多m次

\w{3,10}表示由a-z组成的长度为3-10的字符串

{?} 匹配前一项0次或者1次

\d{?}表示空或者一个数字 a?表示空或a

{+} 匹配前一项至少1次

\w{+}表示由a-z组成的长度至少为1的字符串 b+表示b,bb,bbb,...,无穷个b

**{}* 匹配前一项0次或者多次

\d{}表示空或由0-9组成的长度至少为1的字符串 3表示空或3,33,33,...,无穷个3

定位符
^ 匹配字符串的开头

^abc表示以abc为开头的字符串 ^[0-9]表示以数字开头的字符串

$ 匹配字符串的结尾

123$表示以123结尾的字符串 [a-z]$表示以字符结尾的字符串

\b 匹配一个单词的边界
\B 与\b相反,匹配一个非单词边界
分组
( | ) 左右表达式任意一个

(abc|123)表示abc或者123

标志
i 匹配时不区分大小写

^a/i 表示以a或者A开头的字符串

g 匹配时执行全局匹配
m 匹配时执行多行匹配
常用实例正则表达式

^[A-Za-z]+$ 表示由26个英文字母组成的字符串

^[A-Za-z0-9]+$ 表示26个英文和数字组成的字符串

^-?\d+$ 表示整数形式的字符串

^[0-9][1-9][0-9]$ 表示正整数形式的字符串

[1-9]\d{5} 表示中国境内邮政编码 6位

[\u4e00-\u9fa5] 表示中文字符

\d{3}-\d{8}|\d{4}-\d{7} 国内电话号码 010-55668899或者0101-3344556

匹配IP地址的正则表达式

(([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5]).){3}([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])

Responses