正则表达式-官网版字符说明
发布时间:2020-12-14 01:43:29 所属栏目:百科 来源:网络整理
导读:正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“ 元字符 ”)。模式描述在搜索文本时要匹配的一个或多个字符串。 正则表达式示例 表达式 匹配 /^s*$/ 匹配空行。 /d{2}-d{5}/ 验证由两位数字、一个连字符再加 5 位
正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。 正则表达式示例
下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符
说明 |
| ||||||
将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“n”匹配换行符。序列“”匹配“”,“(”匹配“(”。 | |||||||
匹配输入字符串开始的位置。如果设置了RegExp对象的Multiline属性,^ 还会与“n”或“r”之后的位置匹配。 | |||||||
匹配输入字符串结尾的位置。如果设置了Multiline属性,$ 还会与“n”或“r”之前的位置匹配。 | |||||||
零次或多次匹配前面的字符或子表达式。例如,zo* 匹配“z”和“zoo”。* 等效于 {0,}。 | |||||||
一次或多次匹配前面的字符或子表达式。例如,“zo+”与“zo”和“zoo”匹配,但与“z”不匹配。+ 等效于 {1,42)"> ? | 零次或一次匹配前面的字符或子表达式。例如,“do(es)?”匹配“do”或“does”中的“do”。? 等效于 {0,1}。 | ||||||
n是非负整数。正好匹配n次。例如,“o{2}”与“Bob”中的“o”不匹配,但与“food”中的两个“o”匹配。 | |||||||
n是非负整数。至少匹配n次。例如,“o{2,}”不匹配“Bob”中的“o”,而匹配“foooood”中的所有 o。“o{1,}”等效于“o+”。“o{0,}”等效于“o*”。 | |||||||
M和n是非负整数,其中n<=m。匹配至少n次,至多m次。例如,“o{1,3}”匹配“fooooood”中的头三个 o。'o{0,1}' 等效于 'o?'。注意:您不能将空格插入逗号和数字之间。 | |||||||
匹配除“n”之外的任何单个字符。若要匹配包括“n”在内的任意字符,请使用诸如“[sS]”之类的模式。 | |||||||
匹配pattern并捕获该匹配的子表达式。可以使用$0…$9属性从结果“匹配”集合中检索捕获的匹配。若要匹配括号字符 ( ),请使用“(”或者“)”。 | |||||||
x或y。例如,'z|food' 匹配“z”或“food”。'(z|f)ood' 匹配“zood”或“food”。 | |||||||
字符集。匹配包含的任一字符。例如,“[abc]”匹配“plain”中的“a”。 | |||||||
字符范围。匹配指定范围内的任何字符。例如,“[a-z]”匹配“a”到“z”范围内的任何小写字母。 | |||||||
匹配一个字边界,即字与空格间的位置。例如,“erb”匹配“never”中的“er”,但不匹配“verb”中的“er”。 | |||||||
非字边界匹配。“erB”匹配“verb”中的“er”,但不匹配“never”中的“er”。 | |||||||
x指示的控制字符。例如,cM 匹配 Control-M 或回车符。x的值必须在 A-Z 或 a-z 之间。如果不是这样,则假定 c 就是“c”字符本身。 | |||||||
数字字符匹配。等效于 [0-9]。 | |||||||
非数字字符匹配。等效于 [^0-9]。 | |||||||
换页符匹配。等效于 x0c 和 cL。 | |||||||
换行符匹配。等效于 x0a 和 cJ。 | |||||||
匹配一个回车符。等效于 x0d 和 cM。 | |||||||
匹配任何空白字符,包括空格、制表符、换页符等。与 [fnrtv] 等效。 | |||||||
匹配任何非空白字符。与 [^fnrtv] 等效。 | |||||||
制表符匹配。与 x09 和 cI 等效。 | |||||||
垂直制表符匹配。与 x0b 和 cK 等效。 | |||||||
匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效。 | |||||||
与任何非单词字符匹配。与“[^A-Za-z0-9_]”等效。 | |||||||
n,此处的n是一个十六进制转义码。十六进制转义码必须正好是两位数长。例如,“x41”匹配“A”。“x041”与“x04”&“1”等效。允许在正则表达式中使用 ASCII 代码。 | |||||||
num,此处的num是一个正整数。到捕获匹配的反向引用。例如,“(.)1”匹配两个连续的相同字符。 | |||||||
nm前面至少有nm个捕获子表达式,那么nm是反向引用。如果 n个捕获,则n是反向引用,后面跟有字符m。如果两种前面的情况都不存在,则 nm匹配八进制值nm,其中n和m是八进制数字 (0-7)。 | |||||||
当n是八进制数 (0-3),m和l是八进制数 (0-7) 时,匹配八进制转义码nml。 | |||||||
请参见
其他资源
正则表达式介绍(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!