首页 > 代码库 > javascript正则表达式
javascript正则表达式
字符
|
指示在两个或多个项之间进行选择。类似js中的或,又称分支条件。/
正则表达式模式的开始或结尾。\
反斜杠字符,用来转义。-
连字符 当且仅当在字符组[]的内部表示一个范围,比如[A-Z]就是表示范围从A到Z;如果需要在字符组里面表示普通字符-,放在字符组的开头即可。.
匹配除换行符 \n 之外的任何单个字符。\d
等价[0-9],匹配0到9字符。\D
等价[^0-9],与\d
相反。\w
与以下任意字符匹配:A-Z、a-z、0-9 和下划线,等价于 [A-Za-z0-9]。\W
与\w相反,即 [^A-Za-z0-9]
限定符(量词字符)
显示限定符位于大括号 {} 中,并包含指示出现次数上下限的数值;*+?
这三个字符属于单字符限定符:
{n}
正好匹配 n 次。{n,}
至少匹配 n 次。{n,m}
匹配至少 n 次,至多 m 次。*
等价{0,}+
等价{1,}?
等价{0,1}
正则表达式是有优先级的
\
转义符(), (?:), (?=), []
括号和中括号*、+、?、{n}、{n,}、{n,m}
限定符- 任何元字符
^、$、\
定位点和序列 |
替换
JS 是 NFA 引擎。
NFA 引擎的特点:
- 以贪婪方式进行,尽可能匹配更多字符。
- 急于邀功请赏,所以最左子正则式优先匹配成功,因此偶尔会错过最佳匹配结果(多选条件分支的情况)。
- 回溯(backtracking),导致速度慢。
举个贪婪与回溯结合的例子:
"AB01CD2AB3CD45CEff".match(‘AB.*CD‘)
// 返回 ["AB01CD2AB3CD"]
来自 http://web.jobbole.com/89221/?utm_medium=hao.caibaojian.com&utm_source=hao.caibaojian.com
javascript正则表达式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。