正则表达式记录

168 阅读1分钟

匹配基本要数:

(1)字符类。

(2)数量限定符。

(3)位置限定符。

(4)特殊符号。

一、字符类

.  匹配任意一个字符。   .abc 可以匹配  abcD  abc6  

[]  匹配括号中的任意字符。   [abc]d  可以匹配 ad bb cd

-  表示[ ]里的范围。  [a-zA-Z0-9]   可以匹配非划线,下划线的数字,字母

^ 位于[ ]括号的开头。 [^xy]1  匹配除[ ]括号里的字符外的任意一个字符, a1,b1

二、数量限定符

?  紧跟在它前面的单元应匹配零次或一次。

+ 紧跟在它前面的单元应匹配一次或多次。

*  紧跟在它前面的单元应匹配零次或多次。

{N}  紧跟在它前面的单元应精确匹配N次。

{N,}  紧跟在它前面的单元应匹配至少N次。

{,N}  紧跟在它前面的单元应匹配最多N次。

{N,M}  紧跟在它前面的单元应至少匹配N次,最多匹配M次。

注意:“前面的单元”默认是指?或+前面的字符

三、位置限定符

^  匹配行首的位置   ^Content匹配于一行开头的Content

‘ 匹配行末的位置  ;‘  匹配行末的位置   ;匹配位于末行的;号,^$匹配空行

\<  匹配单词开头的位置  \<th....匹配the,不匹配ethe

\>  匹配单词结尾的位置  p\>  匹配sdp,不匹配spd

\b  匹配单词结尾或开头的位置  \bat  匹配atc  at\b 匹配cat  

\B  匹配单词非开头或结尾的位置  \Bat  匹配sssacqq 不匹配 atc、cat

四、特殊符号

\   转义字符,普通字符转义成特殊字符,特殊字符转义成普通字符。比如  .为特殊字符  \.转义为普通字符,<为普通字符 \<转义为特殊字符。

( )  将正则表达式的一部分组成一个单元,可对单元使用数量限定符。

|   表示两个子表达式,表示或的关系。

基础匹配:

(1)匹配数字

符号:/d

匹配规则:[0-9]

(2)匹配非数字,字母类型

符号:/D

匹配规则:[a-z]  ([A-Z])
(3)匹配非下划线,划线

符号:\w

匹配规则:[a-zA-Z0-9]

(4)匹配下划线,划线

符号:\W

匹配规则:[^a-zA-Z0-9]

(5)匹配非空白区域

符号:\S

匹配规则:[^\S]

例子:

'10001,11212'.match(/((0|9){1,3})+[^,]1/g)

返回["0001"];

先匹配在1~3区间内,0或9随意组合,再匹配去除逗号1(两个匹配单元)

常用正则表达式:

1.IP地址

\d+\.\d+\.\d+\.\d+

2.判断账号是否合法

^[a-zA-Z0-9][a-zA-Z0-9_]{4,15}$

3.日期格式

^\d{4}-\d{1,2}-\d{1,2}

4.非零正整数

/^[1-9]\d*$/

5.汉字

[\u4e00-\u9fa5]

6.邮箱

[\w!#%&'\*+/=?^\_\`{|}~-\]+(?:\\.\[\\w!#%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

7.网址

[a-zA-z]+://[^\s]*

8.身份证

^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$

9.邮编

[1-9]\d{5}(?!\d)

常见正则:

www.cnblogs.com/zxin/archiv…