正则表达式入门之使用元字符
来源:互联网 发布:苹果群发短信软件 编辑:程序博客网 时间:2024/06/07 09:10
正则表达式—使用元字符
1. 使用元字符
1.1对特殊字符转义
在元字符前加上反斜杠就可以对其进行转义:转义序列\.将匹配.本身,转义序列\[将匹配[本身。
每个元字符都可以通过给他加上一个反斜杠前缀的方法来转义,如此得到的转义序列将匹配那个字符本身而不是它特殊的元字符含义。
例1
#文本var myAarray = new Array();...if (myArray[0] == 0) {...}
#正则表达式myArray\[0\]
#结果
var myAarray = new Array();
...
if (myArray[0]== 0) {
...
}如果我们想查找的不仅仅是myArray[0]还包括myArray[1]、myArray[2]之类[]中包含数组元素0到9的,我们可以构造如下正则表达式:
myArray\[[0-9]\]
如果我们想把包含反斜杠(\)的路径文件中所有的反斜杠找出,就需要对\进行转义,否则会出错。
例2
#文本C:\Users\admin\Desktop\python_for_work\spyder_worker
#正则表达式\\
#结果
C:\Users\admin\Desktop\python_for_work\spyder_worker1.2匹配空白字符
在进行正则表达式搜索时,我们经常会遇到需要对原始文本里的非打印空白字符进行匹配的情况,
这类字符很难被直接输入到一个正则表达式中,但我们可以使用下表中列出的特殊元字符来输入他们。
[\b]
回退(并删除)一个字符
\f
换页符
\n
换行符
\r
回车符
\t
制表符
\v
垂直制表符
1.3匹配特定的字符类别
字符集合是最常见的匹配形式,而一些常用的字符集合可以用特殊的元字符来代替,这些元字符匹配的是某一类别的字符。
\d
任何一个数字字符,等价于[0-9]
\D
任何一个非数字字符,等价于[^0-9]
\w
任何一个字母数字字符(大小均可)或下划线字符,等价于[A-Za-z0-9_]
\W
任何一个非字母数字字符或下划线字符,等价于[^A-Za-z0-9_]
\s
任何一个空白字符,等价于[\f\n\r\t\v]
\S
任何一个非空白字符,等价于[^\f\n\r\t\v]
例1
#文本1121A1S2D312374G3H2J3K1K1K1GHJKUH
#正则表达式\w\d\w\d\w\d
#结果
1121
A1S2D3
12374
G3H2J3
K1K1K1
GHJKUH1.4使用POSIX字符类
POSIX字符类是许多(但不是所有)正则表达式实现都支持的一种简写形式。
[:digit:]
任何数字,等价于[0-9]
[:xdigit:]
任何十六进制数字,等价于[a-Fa-f0-9]
[:alpha:]
任何字母,等价于[A-Za-z]
[:lower:]
任何小写字母,等价于[a-z]
[:upper:]
任何大写字母,等价于[A-Z]
[:alnum:]
任何字母或数字,等价于[A-Za-z0-9]
[:cntrl:]
ASCII控制字符(ASCII 0~31和 ASCII 127)
[:punct:]
不属于[:alnum:]和[:cntrl:]的任何字符
[:blank:]
空格或制表符,等价于[\t ]
[:space:]
任何空白字符,包括空格,等价于[\f\n\r\t\v ]
[:print:]
任何可打印字符
[:graph:]
同[:print:],但不包括空格
- 正则表达式入门之使用元字符
- 正则表达式之元字符
- 正则表达式之元字符及函数使用
- 正则表达式 之元字符理论篇
- As3.0正则表达式之元字符^
- 正则表达式之元字符与转义
- 精通正则表达式之元字符
- 正则表达式之元字符简单介绍
- 正则表达式--元字符
- 正则表达式--元字符
- 正则表达式元字符
- 正则表达式-元字符
- 正则表达式元字符
- 正则表达式元字符
- 正则表达式元字符
- 正则表达式元字符
- 正则表达式元字符
- 正则表达式-元字符
- loadrunner12测试接口
- 编程之美-判断两个链表是否相交 (涵其扩展问题)
- 2017年8月11日草原天路沽源太仆寺旗3日游
- CSS设置文字不换行,超出字数用...显示
- Windows下载并启动tomcat
- 正则表达式入门之使用元字符
- SSL单向认证和双向认证交互流程
- 《cv中文参考手册-图像轮廓处理-结构分析与形状识别-外接轮廓》
- Hadoop中CombineFileInputFormat详解
- 笔试编程题(网易)
- Java Socket通信及TCP/UDP实现
- Number()、parseInt()、parseFloat()的区别
- AlarmManager 记录摘要
- JSP页面加入百度富文本框