javascript正则表达式
Posted honghong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript中 正则表达式的使用 及 常用正则表达式