您的位置:首页 > Web前端 > JavaScript

JavaScript正则表达式

2016-06-17 16:37 344 查看
文档信息摘抄菜鸟教程,JavaScript正则表达式

正则表达式修饰符:

修饰符描述
i执行对大小写不敏感的匹配
g执行全局匹配(查找所有匹配而不是找到第一个停止)
m执行多行匹配
正则表达式模式:

表达式描述
[abc]查找方括号内的任意字符
[0-9]查找任何从0-9的数字
[a-z]查找任何从小写 a 到小写 z 的字符
[^adgk]查找给定集合外的任何字符
(x|y)查找任何以|分割的选项
元字符(拥有特殊含义的字符):

元字符描述
.查找单个字符,除了换行和行结束符。
\w查找单词字符。
\W查找非单词字符。
\d查找数字。
\D查找非数字字符。
\s查找空白字符。
\S查找非空白字符。
\b匹配单词边界。
\B匹配非单词边界。
\0查找 NUL 字符。
\n查找换行符。
\f查找换页符。
\r查找回车符。
\t查找制表符。
\v查找垂直制表符。
\xxx查找以八进制数 xxx 规定的字符。
\xdd查找以十六进制数 dd 规定的字符。
\uxxxx查找以十六进制数 xxxx 规定的 Unicode 字符。
量词:

量词描述
n+匹配任何包含至少一个 n 的字符串。
n*匹配任何包含零个或多个 n 的字符串。
n?匹配任何包含零个或一个 n 的字符串。
n{X}匹配包含 X 个 n 的序列的字符串。
n{X,Y}匹配包含 X 或 Y 个 n 的序列的字符串。
n{X,}匹配包含至少 X 个 n 的序列的字符串。
n$匹配任何结尾为 n 的字符串。
^n匹配任何开头为 n 的字符串。
?=n匹配任何其后紧接指定字符串 n 的字符串。
?!n匹配任何其后没有紧接指定字符串 n 的字符串。
RegExp 对象方法:

new RegExp(pattern, attributes);

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 attributes 是一个可选的字符串,包含属性 “g”、”i” 和 “m”,分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

方法描述
compile编译正则表达式。
exec检索字符串中指定的值。返回找到的值,并确定其位置。
test检索字符串中指定的值。返回 true 或 false。
支持正则表达式的 String 对象的方法:

方法描述
search检索与正则表达式相匹配的值。
match找到一个或多个正则表达式的匹配。
replace替换与正则表达式匹配的子串。
split把字符串分割为字符串数组。
<script type="text/javascript">
var desStr = " the best things in life are free harmony";
var patt1 = new RegExp("E","gi");
document.write("########################<br>");
do{
res = patt1.exec(desStr)
document.write(res + "<br>");
}while(res != null)

document.write("########################<br>");
debugger;
patt1.compile("[Ace]","gi");
do{
res = patt1.exec(desStr)
document.write(res + "<br>");
}while(res != null)

document.write("########################<br>");
patt1.compile("harmony","gi");
document.write(patt1.test(desStr) + "<br>")

document.write("########################<br>");
patt1.compile("harmony","gi");
document.write(desStr.search(patt1) + "<br>")
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: