正则表达式语法:JScript 8.0 正则表达式语法来源: 发布时间:星期日, 2009年9月6日 浏览:11次 评论:0
=heading>正则表达式举例
表达式 匹配 /^\s*$/ 匹配空行 /\d{2}-\d{5}/ 验证由两位数字、个连再加 5 位数字组成 ID 号 /<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/ 匹配 HTML 标记 下表包含了元完整列表以及它们在正则表达式上下文中行为: 介绍说明 \ 将下标记为特殊、文本、反向引用或 8进制转义符例如“n”匹配“n”“\n”匹配换行符序列“\\”匹配“\”“\(”匹配“(” ^ 匹配输入串开始位置如果设置了 RegExp 对象 Multiline 属性^ 还会和“\n”或“\r”的后位置匹配 $ 匹配输入串结尾位置如果设置了 RegExp 对象 Multiline 属性$ 还会和“\n”或“\r”的前位置匹配 * 零次或多次匹配前面或子表达式例如zo* 匹配“z”和“zoo”* 等效于 {0,} + 次或多次匹配前面或子表达式例如“zo+”和“zo”和“zoo”匹配但和“z”不匹配+ 等效于 {1,} ? 零次或次匹配前面或子表达式例如“do(es)?”匹配“do”或“does”中“do”? 等效于 {0,1} {n} n 是非负整数正好匹配 n 次例如“o{2}”和“Bob”中“o”不匹配但和“food”中两个“o”匹配 {n,} n 是非负整数至少匹配 n 次例如“o{2,}”不匹配“Bob”中“o”而匹配“foooood”中所有 o“o{1,}”等效于“o+”“o{0,}”等效于“o*” {n,m} M 和 n 是非负整数其中 n <= m匹配至少 n 次至多 m 次例如“o{1,3}”匹配“fooooood”中头 3个 o'o{0,1}' 等效于 'o?'注意:您不能将空格插入逗号和数字的间 ? 当此紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})的后时匹配模式是“非贪心”“非贪心”模式匹配搜索到、尽可能短串而默认“贪心”模式匹配搜索到、尽可能长串例如在串“oooo”中“o+?”只匹配单个“o”而“o+”匹配所有“o” . 匹配除“\n”的外任何单个若要匹配包括“\n”在内任意请使用诸如“[\s\S]”的类模式 (pattern) 匹配 pattern 并捕获该匹配子表达式可以使用 $0…$9 属性从结果“匹配”集合中检索捕获匹配若要匹配括号 ( )请使用“\(”或者“\)” (?:pattern) 匹配 pattern 但不捕获该匹配子表达式即它是个非捕获匹配不存储供以后使用匹配这对于用“or” (|) 组合模式部件情况很有用例如'industr(?:y|ies) 是比 'industry|industries' 更经济表达式 (?=pattern) 执行正向预测先行搜索子表达式该表达式匹配处于匹配 pattern 串起始点串它是个非捕获匹配即不能捕获供以后使用匹配例如'Windows (?=95|98|NT|2000)' 匹配“Windows 2000”中“Windows”但不匹配“Windows 3.1”中“Windows”预测先行不占用即发生匹配后下匹配搜索紧随上匹配的后而不是在组成预测先行后 (?!pattern) 执行反向预测先行搜索子表达式该表达式匹配不处于匹配 pattern 串起始点搜索串它是个非捕获匹配即不能捕获供以后使用匹配例如'Windows (?!95|98|NT|2000)' 匹配“Windows 3.1”中 “Windows”但不匹配“Windows 2000”中“Windows”预测先行不占用即发生匹配后下匹配搜索紧随上匹配的后而不是在组成预测先行后 x|y 匹配 x 或 y例如'z|food' 匹配“z”或“food”'(z|f)ood' 匹配“zood”或“food” [xyz] 集匹配包含任例如“[abc]”匹配“plain”中“a” [^xyz] 反向集匹配未包含任何例如“[^abc]”匹配“plain”中“p” [a-z] 范围匹配指定范围内任何例如“[a-z]”匹配“a”到“z”范围内任何小写字母 [^a-z] 反向范围匹配不在指定范围内任何例如“[^a-z]”匹配任何不在“a”到“z”范围内任何 \b 匹配个字边界即字和空格间位置例如“er\b”匹配“never”中“er”但不匹配“verb”中“er” \B 非字边界匹配“er\B”匹配“verb”中“er”但不匹配“never”中“er” \cx 匹配 x 指示控制例如\cM 匹配 Control-M 或回车符x 值必须在 A-Z 或 a-z 的间如果不是这样则假定 c 就是“c”本身 \d 数字匹配等效于 [0-9] \D 非数字匹配等效于 [^0-9] \f 换页符匹配等效于 \x0c 和 \cL \n 换行符匹配等效于 \x0a 和 \cJ \r 匹配个回车符等效于 \x0d 和 \cM \s 匹配任何空白包括空格、制表符、换页符等和 [ \f\n\r\t\v] 等效 \S 匹配任何非空白和 [^ \f\n\r\t\v] 等效 \t 制表符匹配和 \x09 和 \cI 等效 \v 垂直制表符匹配和 \x0b 和 \cK 等效 \w 匹配任何字类包括下划线和“[A-Za-z0-9_]”等效 \W 和任何非单词匹配和“[^A-Za-z0-9_]”等效 \xn 匹配 n此处 n 是个十 6进制转义码十 6进制转义码必须正好是两位数长例如“\x41”匹配“A”“\x041”和“\x04”&“1”等效允许在正则表达式中使用 ASCII 代码 \num 匹配 num此处 num 是个正整数到捕获匹配反向引用例如“(.)\1”匹配两个连续相同 \n 标识个 8进制转义码或反向引用如果 \n 前面至少有 n 个捕获子表达式那么 n 是反向引用否则如果 n 是 8进制数 (0-7)那么 n 是 8进制转义码 \nm 标识个 8进制转义码或反向引用如果 \nm 前面至少有 nm 个捕获子表达式那么 nm 是反向引用如果 \nm 前面至少有 n 个捕获则 n 是反向引用后面跟有 m如果两种前面情况都不存在则 \nm 匹配 8进制值 nm其中 n 和 m 是 8进制数字 (0-7) \=parameter>nml 当 n 是 8进制数 (0-3)m 和 l 是 8进制数 (0-7) 时匹配 8进制转义码 nml \un 匹配 n 0
相关文章读者评论发表评论 |