加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl正则表达式元字符

发布时间:2020-12-15 23:45:31 所属栏目:大数据 来源:网络整理
导读:正则表达式元字符(metacharacter)是不代表自身原有含义的字符。它们拥有 以某种方式控制搜索模式的特殊能力(例如只在行首或行尾搜索模式,或只在以 大写或小写字母开头的行上搜索模式)。如果在它们前面加上反斜杠(),这 些元字符就会失去其特殊含义。

正则表达式元字符(metacharacter)是不代表自身原有含义的字符。它们拥有

以某种方式控制搜索模式的特殊能力(例如只在行首或行尾搜索模式,或只在以

大写或小写字母开头的行上搜索模式)。如果在它们前面加上反斜杠(),这

些元字符就会失去其特殊含义。例如,元字符点号(.)代表任何单个字符,但

如果在前面加上反斜杠,它就会退化为一个普通的点号或句号。


如果在元字符前面出现了反斜杠,这些反斜杠就会关闭元字符的特殊含义;但如

果在正则表达式中的其他数字或字母之前出现反斜杠的话,这些反斜杠则会拥有

其他的含义。Perl 为一些元字符提供了简化形式,又称元符号(metasymbol),

它们专门用于表示字符。例如,[0-9] 表示范围从0到9 的数字,d 也能表示相

同的含义。只不过[0-9] 用到了方括号元字符,而d 则使用了元符号。


????|?元字符???????????????|?匹配项???????????????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?字符类:单字符与数字?|??????????????????????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?.????????????????????|?匹配除换行符外的任意字符?????????????????????????????????|
????|?[a-z0-9]?????????????|?匹配集合中任意单个字符???????????????????????????????????|
????|?[^a-z0-9]????????????|?匹配不在集合中的任意单个字符?????????????????????????????|
????|?d???????????????????|?匹配单个数字?????????????????????????????????????????????|
????|?D???????????????????|?匹配非数字字符,等效于[^0-9]?????????????????????????????|
????|?w???????????????????|?匹配数字型(字)字符?????????????????????????????????????|
????|?W???????????????????|?匹配非数字型(非字)字符?????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?字符类:空白字符?????|??????????????????????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?s???????????????????|?匹配空白字符,如空格,制表符和换行符?????????????????????|
????|?S???????????????????|?匹配非空白字符???????????????????????????????????????????|
????|?n???????????????????|?匹配换行符???????????????????????????????????????????????|
????|?r???????????????????|?匹配回车符???????????????????????????????????????????????|
????|?t???????????????????|?匹配制表符???????????????????????????????????????????????|
????|?f???????????????????|?匹配进纸符???????????????????????????????????????????????|
????|?b???????????????????|?匹配退格符???????????????????????????????????????????????|
????|????????????????????|?匹配空值字符?????????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?字符类:锚定字符?????|??????????????????????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?b???????????????????|?匹配字边界(不在[]?中时)????????????????????????????????|
????|?B???????????????????|?匹配非字边界?????????????????????????????????????????????|
????|?^????????????????????|?匹配行首?????????????????????????????????????????????????|
????|?$????????????????????|?匹配行尾?????????????????????????????????????????????????|
????|?A???????????????????|?匹配字符串开头???????????????????????????????????????????|
????|?Z???????????????????|?匹配字符串或行的末尾?????????????????????????????????????|
????|?z???????????????????|?只匹配字符串末尾?????????????????????????????????????????|
????|?G???????????????????|?匹配前一次m//g?离开之处??????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?字符类:重复字符?????|??????????????????????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?x????????????????????|?匹配0或1个x??????????????????????????????????????????????|
????|?x*???????????????????|?匹配0或多个x?????????????????????????????????????????????|
????|?x+???????????????????|?匹配1或多个x?????????????????????????????????????????????|
????|?(xyz)+???????????????|?匹配1或多个模式xyz???????????????????????????????????????|
????|?x(m,n)???????????????|?匹配m到n个x组成的值??????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?字符类:替换字符?????|??????????????????????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?(was|were|will)??????|?匹配was、were、will之一??????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?字符类:记忆字符?????|??????????????????????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?(stirng)?????????????|?用于反向引用?????????????????????????????????????????????|
????|?1?或$1??????????????|?匹配第一组括号???????????????????????????????????????????|
????|?2?或$2??????????????|?匹配第二组括号???????????????????????????????????????????|
????|?3?或$3??????????????|?匹配第三组括号???????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?字符类:其他字符?????|??????????????????????????????????????????????????????????|
????|----------------------+----------------------------------------------------------|
????|?12??????????????????|?匹配八进制数,直到377???????????????????????????????????|
????|?x811????????????????|?匹配十六进制数值?????????????????????????????????????????|
????|?cX??????????????????|?匹配控制字符。譬如cC?指的是<Ctrl>-C;cV?指的是<Ctrl>-V?|
????|?e???????????????????|?匹配ASCII?编码中的ESC?符(取消),而非反斜杠?????????????|
????|?E???????????????????|?标识使用U、L?或Q?的大小写更改操作的结束位置???????????|
????|?l???????????????????|?只小写下一个字符?????????????????????????????????????????|
????|?L???????????????????|?小写字符,直到字符串末尾或碰到E?????????????????????????|
????|?N???????????????????|?匹配已命名的字符,如N{greek:Beta}???????????????????????|
????|?p{PROPERTY}?????????|?匹配拥有已命名属性的任意字符,譬如p{IsAlpha}/???????????|
????|?p{PROPERTY}?????????|?匹配不带已命名属性的任意字符?????????????????????????????|
????|?Q???????????????????|?引用E之前的元字符???????????????????????????????????????|
????|?u???????????????????|?只大写下一个字符?????????????????????????????????????????|
????|?U???????????????????|?大写字符,直到字符串末尾或碰到E?????????????????????????|
????|?x{NUMBER}???????????|?匹配以十六进制形式给出的Unicode?编码NUMBER???????????????|
????|?X???????????????????|?匹配Unicode?编码“组合字符序列”字符串???????????????????|
????|?[???????????????????|?匹配元字符???????????????????????????????????????????????|
????|????????????????????|?匹配反斜杠???????????????????????????????????????????????|

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读