欢迎光临

木子屋

标题: 正则表达式语法大全

作者: admin

日期: 2006-06-27 04:31 PM

分类: 脚本语言

内容: 1、描述字符
根据正则表达式语法规则，大部分字符仅能够描述自身，这些字符被称为普通字符，另一类称为元字符，它和普通字符不同，大部分需要加反斜杠进行标识：
引用内容.：查找单个字符，除了换行和行结束符；
\w：查找单词字符；
\W：查找非单词字符；
\d：查找数字；
\D：查找非数字字符；
\s：查找空白字符；
\S：查找非空白字符；
\b：匹配单词边界；
\B：匹配非单词边界；
\0：查找 NUL字符；
\n：查找换行符；
\f：查找换页符；
\r：查找回车符；
\t：查找制表符；
\v：查找垂直制表符；
\xxx：查找以八进制数 xxxx 规定的字符；
\xdd：查找以十六进制数 dd 规定的字符；
\uxxxx：查找以十六进制 xxxx规定的 Unicode 字符；
Tips:RegExp()构造函数参数为字符串，字符串加反斜杠表示的是字符本身，例如"\w"表示w本身，所以在RegExp()构造函数中使用元字符时，应使用双斜杠：new RegExp("\\w")。
2、字符范围
在方括号中可以包含多个字符，表示匹配其中任意一个字符。连字符(-)表示一个范围内的所有字符，脱字符(^)前缀表示范围之外的其他字符：
引用内容[abc]：查找方括号内任意一个字符；
[^abc]：查找不在方括号内的字符；
[0-9]：查找从 0 至 9 范围内的数字，即查找数字；
[a-z]：查找从小写 a 到小写 z 范围内的字符，即查找小写字母；
[A-Z]：查找从大写 A 到大写 Z 范围内的字符，即查找大写字母；
3、重复匹配
引用内容n+：匹配任何包含至少一个 n 的字符串；
n*：匹配任何包含零个或多个 n 的字符串；
n?：匹配任何包含零个或一个 n 的字符串；
n{x}：匹配包含 x 个 n 的序列的字符串；
n{x,y}：匹配包含最少 x 个、最多 y 个 n 的序列的字符串；
n{x,}：匹配包含至少 x 个 n 的序列的字符串；
4、子表达式
使用小括号可以对字符模式进行任意分组，在小括号内的字符串表示子表达式，也称为子模式，子表达式具有独立的匹配功能，保存独立的匹配结果：
引用内容var s = "a=1, b=2, c=3";
var r = /\w+=\d+/g;
while (a = r.exec(s)) {
console.log(a);
}
//["a=1"]
//["b=2"]
//["c=3"]
引用内容var s = "a=1, b=2, c=3";
var r = /(\w+)=(\d+)/g;
while (a = r.exec(s)) {
console.log(a);
}
//["a=1", "a", "1"]
//["b=2", "b", "2"]
//["c=3", "c", "3"]
5、边界量词
引用内容^：在多行检测中，会匹配一行的开头;
$：在多行检测中，会匹配一行的结尾;
6、选择匹配
选择匹配类似于JS的逻辑或运算，用竖线(|)表示在两个子模式的匹配结果中任选一个：
引用内容(/[a-z]|[0-9]/).exec("123abc"); //["1"]
7、条件匹配
条件匹配表示必须满足指定的条件，但不会返回这些字符，语法：
引用内容(?=匹配条件)：条件必须匹配；
(?!匹配条件)：条件禁止匹配；
例如：
引用内容(/\w*(?==)/).exec("one:1, two=2"); //["two"]
(/\w*(?!=)/).exec("one:1, two=2"); //["one"]

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.531 ms

返回

标题: 正则表达式语法大全

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.531 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.547 ms

返回