前端增长(正则)

306 阅读2分钟

怎么表示开头结尾

^ 表示开头

$ 表示结尾

什么是元字符

在正则里有特殊含义的,比如[ ] $ ^ \n

什么字符类

用中括号包裹起来,里面用来描述符合某一特征的

字符类反向类

[^abc] 不是a或b或c的

范围类

[a-z]

预定义类

. : 非换行符号,非回车符

\d: 数字

\D: 非数字

\s: 空白

\S: 非空白

\w: 数字,字母,下划线

\W: 非数字,非字母,非下划线

\b: 单词边界

\B: 非单词边界

量词

? : 零次或者一次

+ :一次或者多次

* :任意次

{n} : n次

{m, n} : m次到n次

{n} : 至少n次

如何全匹配

使用单词边界,比如用\bis\b能匹配到is,但匹配不到display

怎么分组

用括号,比如http:\/\/(.*\.png),匹配到的$1就是XXX.png

怎么表述或的关系

用中括号,比如[/-]

怎么表述某个匹配值的数量

用花括号,比如\d{4},表述4个数字

如何全局匹配

加上g 比如/\bis\b/g

如何忽略大小写

默认是不忽略的,如要忽略,用/\bis\b/gi

如何进行多行搜索

/\bis\b/gim

非贪婪模式

默认是贪婪模式,如要非贪婪,加上问号。

比如\d{3,6}?,即匹配还没到6,但超过3了,也算匹配成功

如何在字符串里表示或

利用分组,

abc(X|Y)de

如何忽略某个分组

使用?: (?:abc)(\d)

前瞻

使用?= /\w(?=\d)/ 表示匹配\w后,后面还必须是一个数字,算是一种断言

test方法(正则的api)

reg.test(xxx) 返回布尔值

exec方法(正则的api)

reg.exec(xxx) 返回的是数组,分别是匹配的内容,匹配的数组

search方法

xxx.search(/\w/g)

xxx.search(1)等于xxx.search(/1/)

split用法也类似,可写数字字符串或者正则

match

与search类似,但返回的是数组,分别是匹配的内容,匹配的数组