正则表达式教程之操作符及说明详解

(编辑:jimmy 日期: 2024/9/24 浏览:2)

本文实例讲述了正则表达式中的操作符及说明。分享给大家供大家参考,具体如下:

一、普通字符

包括所有未显式指定为元字符的打印和非打印字符组成,如大小写字母、数字、标点符号等。

二、元字符

元字符是一些在正则表达式里有着特殊含义的字符。因为元字符在正则表达式里有着特殊的含义,所以这些字符不能用来代表它们本身,必须通过给它加个反斜杠前缀来转义,如此得到的转义序列将匹配那个字符本身而不是它特殊的元字符含义。如[表示一个字符集合的开始,如果在正则表达式中要匹配[,那么需要这样引用:\[,才能表示[本身。

^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 $ 匹配输入字符串的结尾位置。如果设置多行匹配,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。 () 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 [Math Processing Error]。 "\",而 '\(' 则匹配 "("。 | 指明两项之间的一个选择。要匹配 |,请使用 \|。 {} 标记限定符表达式的开始和结束。要匹配 {或},请使用 \{或\}。

三、非打印字符

\cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。 \f 匹配一个换页符。等价于 \x0c 和 \cL。 \n 匹配一个换行符。等价于 \x0a 和 \cJ。 \r 匹配一个回车符。等价于 \x0d 和 \cM。 \t 匹配一个制表符。等价于 \x09 和 \cI。 \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。

四、预定义字符

. 任何字符(与结束符\r\n可能匹配也可能不匹配) \d 数字,等价于[0-9] \D 非数字,等价于[^0-9] \s 空白字符,等价于[ \t\n\x0B\f\r] \S 非空白字符,等价于[^\s] \w 单词字符,等价于[a-zA-Z_0-9] \W 非单词字符,等价于[^\w] \b 单词的前或后边界 \B 表示非单词边界

五、POSIX 字符

[:alnum:] 任何一个字母或数字,等价于[a-zA-Z0-9] [:alpha:] 任何一个字母,等价于[a-zA-Z] [:blank:] 空格或制表符,等价于[\t] [:cntrl:] ASCII控制字符(ASCII 0到31,再加上ASCII127) [:digit:] 任何一个数字,等价于[0-9] [:graph:] 任何一个可打印字符,但不包括空格 [:lower:] 任何一个小写字母,等价于[a-z] [:print:] 任何一个可打印字符 [:punct:] 既不属于[:alnum:]和[:cntrl:]的任何一个字符 [:space:] 任何一个空白字符,包括空格,等价于[^\f\n\r\t\v] [:upper:] 任何一个大写字母,等价于[A-Z] [:xdigit:] 任何一个十六进制数字,等价于[a-fA-F0-9]

六、限定符

* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。 + 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于{1,}。 "618">匹配前面的子表达式零次或一次。例如,"do(es)"可以匹配 "do" 或"does" 中的"do" 。"41">{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" 中的前三个 o。'o{0,1}' 等价于 'o"color: #800000">PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

希望本文所述对大家正则表达式的学习有所帮助。

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?