2016
07-15
前端开发正则表达式详解
-
“\d{4}-\d{7}”验证字符串是否符合常用固定电话号码的常用形式
-
“\d”表示任意是数字字符,”{4}”表示紧邻它前面的元素重复4次,”\d{7}”表示任意7个数字字符组成的字符串,”-“表示普通的连字符
-
“*”表示它前面的元素重复零次或多次,”bc”表示bc作为一个整体出现
-
“(\d)a*\1″表示两个相同的数字中间夹杂另个或多个a
-
建立正则表达式:new RegExp(“pattern”,”flags”)、/pattern/flags pattern是构造好的模式,为字符串,flags标记(参数值有g、i、m),可选
Reg对象
-
test方法,test(str),用于检测目标字符串中是否有与给定正则表达式模式匹配的字符串,返回true或false,g标志
-
exec方法,exec(str),返回null或数组(第一元素为完整匹配结果,后一次为子结果)
-
compile方法,compile(“pattern”,[,”flags”]),将正则表达式编译为内部格式,使其匹配过程执行更快
String对象
-
match方法,match(reg),用于在目标字符串中查找与给定正则表达式像匹配的子字符串返回null或以搜索结果为元素的数组
-
search方法,search(reg),用于在调用该方法的String对象的实例中查找首次与”reg”正则表达式模式匹配的字符串,并返回其首字符的位置
-
replace方法,replace(reg,str),用于检索和替换操作
-
split方法,split([separator[,limit]]),按照某种分割标识符将调用它的字符串分割为若干子字符串,将结果存放于一个字符串数组并返回
字符匹配符
-
[xyz]&[^xyz] 表示可以和方括号所包含的任意字符相匹配 & 表示可以和除了方括号所包含的字符外的任意一个字符相匹配
-
[a-z]&[^a-z]
-
\d&\D [0-9] & [^0-9]
-
\w&\W [A-Za-z0-9_] & [^A-Za-z0-9_]
-
. 匹配除”\n”外的任何单个字符
非打印字符
-
\f:与换页符相匹配
-
\n:与换行符相匹配
-
\r:与回车符相匹配
-
\t:与制表符相匹配
-
\v:与垂直制表符相匹配
-
\cx:与由x指明的控制字符相匹配
-
\s&\S:匹配任何空白字符,包括空格、制表符、换页符,即[\f\n\r\t\v]
限定符
-
{n}:指定前面的组件连续出现n次,其中n为一个非负数
-
{n,}:指定前面的组件至少连续出现n次
-
{n,m}:指定前面的组件至少连续出现n次,至多连续出现m次
-
+:指定前面的组件连续出现一次或连续出现一次以上
-
*:指定前面的组件出现零次或者连续出现多次
-
?:指定前面的组件连续出现零次或一次
定位符
-
^:与输入字符串的开始位置相匹配,要求”^”必须出现在正则表达式模式的最前面
-
$:与输入字符串的结束位置相匹配,要求”$”必须出现在正则表达式模式的最后面
-
\b:与一个词语的边界相匹配,即指词语和空格键的位置,同时包括目标字符串的开始和结束位置等
-
\B:与非词语边界的字符相匹配
分组和反向引用符
-
(pattern)
-
\num
-
(?:pattern)
-
(?=pattern)
-
(?!pattern)
转义字符
-
需转移字符:”$”、”(“、”)”、”*”、”+”、”.”、”[“、”]”、”?”、”\”、”/”、”^”、”{“、”}”、”|”
-
\xn
-
\n
-
\nm
-
\nm1
-
\un