手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

正则表达式的用法

[日期:2013-03-29] 来源:Linux社区  作者:Linux [字体: ]

正则表达式的作用主要有三:

  • 验证数字是否符合特定模式;
  • 利用正则表达式找到特定文本而后删除或者替换文本;
  • 按模式匹配在字符串中查找查找匹配子字符串。

正则表达式就是有普通字符以及特殊字符(称为元字符)组成的文字模式。元字符前面的字符称为前导符,元字符按功能又分为限定符、定位符等类别,下面对常用的元字符进行列表说明。

常见元字符

说明

\s 匹配单个空格,包括tab键和换行符

\S 匹配出单个空格符之外的所有字符,\S与\s互为逆运算

\d 匹配从0~9的数字

\w 匹配字母,数字或者下划线字符

\W 匹配所有与\w不匹配的字符,\W与\s互为逆运算

\cx 匹配由x指明的控制字符。
 
\f 匹配一个换页符,等价与\x0c和\cL

\n 匹配一个换行符,等价于\x0a和\cJ

\r 匹配一个回车符,等价于\x0d和\cM

\t 匹配一个制表符,等价于\x09和\cI

\v 匹配一个垂直制表符。等价于\x0b和\cK

. 用于匹配除换行符之外的所有字符

常见限定符说明

* 匹配前导字符出现零次或者多次

+ 匹配前导字符出现一次或者多次

? 匹配前导字符出现零次或者一次

{n} 匹配前导字符出现n次,n>=0;

{n,} 匹配前导字符至少出现n次,n>=0;

{n,m} 匹配前导字符至少出现n次,最多出现m次;m>n>=0;

定位符说明

^ 匹配模式必须出现在目标字符串开头

$ 匹配模式必须出现在目标的结尾

\b 匹配模式必须出现在目标字符串的开头或者结尾的两个边界之一

\B 匹配对象必须位于目标字符串的开头和结尾的两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾

正则表达式匹配模式的范围指定符

[] 限定的模式指定了其中一个字符的出现的可能。如/[A-Z]/表示匹配从A到Z任何一个字符;

() 限定的模式指定()里包含的内容必须同时出现在对象中。如/(abc)[0-9]/意思是目标字符串中出现的abc1,abc2...abc9中9个中的任何一个,而不是ab1,a2等;

| 类似于逻辑运算中的“或”运算,如:/sb|a/表示与目标对象的"sb","a"中任何一个相匹配;

当^符出现在[]中时,表示取否定运算。
 
字符转义与优先级顺序

在匹配模式需要使用元字符时,需要使用转移字符“\+元字符”表示,如查找“12*”模式,我们可以使用/12\*/表示;
 
正则表达式在匹配过程中是按照从左向右的顺序进行的,其操作符具有一定的优先级顺序
 
 
优先级顺序

优先级  操作符                      说明

1      \                            转义符

2    (),(?:),(?=),[]              圆括号和方括号

3    *,+,?,{n},{n,},{n,m}          限定符

4    ^,$,\anyMatchcharacter        位置顺序

5      |                            或操作

linux
相关资讯       正则表达式 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款