正则表达式

正则表达式 Regular Expression

.

匹配除断行外任意一个字符

\w

匹配阿拉伯数字,英文大小写字母和下划线

\W

匹配\w的补集

\d

匹配整数

\D

匹配所有不是数字的字符,包括空格

\s

匹配空白字符,换行,制表符等

\S

\s的补集

[选择范围]

匹配方括号中的任意一个字符,注意!只代表一个字符例如[abc]只代表a或b或c

[a-z],[a-d]

匹配a到z,a到d,适用于数字及大写字母

[\u4e00-\u9fa5]

匹配任意中文字符,\u代表万国码(Unicode),用数字代表文字的一项标准

+

匹配一次或多次,例如 /[abc]+/g匹配aaa,ccc,b等等

*

匹配零次或多次

匹配零次或一次

{a,b}

匹配a次到b次,指定范围,或{a}匹配a次

分组匹配()

被正则表达式匹配(捕获)到的字符串会被暂存起来。其中,由分组捕获的串会从1开始编号

var reg = /(\d{4})-(\d{2})-(\d{2})/
var date = '2010-04-12'
reg.test(date)

RegExp.$1 // 2010
RegExp.$2 // 04
RegExp.$3 // 12

分组匹配但不捕获(?:)

如果(??*),为只匹配但不捕获例如(?:reg|reb|rec),只匹配reg或者reb或者rec但不捕获,即不占用$变量

正向预查(?=)

/\d+(?=b)/g

匹配元素后一定接b(变量)但不匹配b

正向否定预查(?!b)

注意需要指出不匹配b变量,且不匹配之前的匹配元素

/\d+(?!b|\d)/g

修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。
符号描述例子能匹配不能匹配
^行首或字符串开始^yoyoayo
$行末或字符串结束yo$yoyop
\b单词边界\byo\bmu yo mumuyomu
\B非单词边界\Byo\Bmuyomumu yo mu
符号描述例子能匹配不能匹配
[ ]字符集合[ace]a, c, ed
[ - ]字符范围[a-c]a, b, cd
[^ ]不包含的字符集合[^abc]d, ea, b, c
.匹配除断行外的任何字符yo.yoo, yop, yohyo
\s空白字符,等于[\n\r\f\t ]la\slala lalala
\S非空白字符,等于[^\n\r\f\t]la\slalalala la
\d数字\d{2}231a
\D非数字\D{3}yoo, abcyo1
\w单词,等于[a-z-A-Z0-9_]\w{4}v123v12.3
\W非单词,等于[^a-z-A-Z0-9_].$%?.$%?.ab?
符号描述例子能匹配不能匹配
(?=xxx)正向肯定预查,从任何匹配xxx的字符串开始处匹配查找字符串yo(?=o)yooyo
(?!xxx)正向否定预查,从任何不匹配pattern的字符串开始处匹配查找字符串yo(?!o)yoyoo
(?<=xxx)反向肯定预查,与正向肯定预查类拟,只是方向相反(?<=y)oyoyoo
(?<!xxx)反向否定预查,与正向否定预查类拟,只是方向相反(?<!goo)dmoodgood
特殊字符描述
\n断行
\r回车符
\t制表符
\v垂直制表符
\f换页
[\b]退格
符号描述例子能匹配不能匹配
|或,其一a|ba, bc
(xxx)匹配xxx并获取这一匹配yo(o|p)yoo 或 yopyoh
(?:xxx)匹配xxx但不获取这一匹配y(??)yoya
+重复1次或多次yo+yo, yoooy
*重复0次或多次yo*y, yooyop
?出现0次或1次yo?y, yoye
???的懒惰模式,尽可能少匹配yoo??yoyoo
+?+的懒惰模式yo+?yoyoo
*?*的懒惰模式yo*?yyo
{n}重复n次yo{2}yooyooo
{n,m}重复n到m次yo{1, 3}yo,yoooyoooo
{n,}重复至少n次yo{2,}yoo, yoooyo
表达式描述
[abc]查找方括号之间的任何字符。
[^abc]查找任何不在方括号之间的字符。
[0-9]查找任何从 0 至 9 的数字。
[a-z]查找任何从小写 a 到小写 z 的字符。
[A-Z]查找任何从大写 A 到大写 Z 的字符。
[A-z]查找任何从大写 A 到小写 z 的字符。
[adgk]查找给定集合内的任何字符。
[^adgk]查找给定集合外的任何字符。
(red|blue|green)查找任何指定的选项。

javascript正则表达式方法

  1. search() 方法

    用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置

  2. replace() 方法

    用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

  3. test()

    用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

  4. exec()

    exec() 方法用于检索字符串中的正则表达式的匹配。

    该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

RegExp 对象方法

方法描述
exec索字符串中指定的值。返回找到的值,并确定其位置。
test检索字符串中指定的值。返回 true 或 false。
toString返回正则表达式的字符串。

支持正则表达式的 String 对象的方法

方法描述FFIE
search检索与正则表达式相匹配的值。14
match到一个或多个正则表达式的匹配。14
replace与正则表达式匹配的子串。14
split把字符串分割为字符串数组。1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值