正则基本语法

来源:互联网 发布:国内旅游收入数据 编辑:程序博客网 时间:2024/06/10 10:59


正则表达式是一种特殊的字符串模式,用于匹配一组字符串。
[]:正则表达式将方括号视为特殊的元字符(metacharacter),因此方括号不参与匹配。
元字符是在正则表达式中有特殊含义的字符,也是保留字符。
[0-9]这种形式的正则表倒是称做字符组(character class),有时也叫字符集(character set)。含义为匹配0-9的任意数字  等同于[0-9] = \d
可以对数字的范围进行进一步限定。用更具体的一组数字进行匹配,如[012789]:只匹配012789

捕获分组后后向引用
使用捕获分组来匹配待处理串的某一部分,然后使用后向引用对捕获分组中的内容进行引用
如 8287281  ---(\d)\d\1\d\d\1\d
   (\d)匹配第一个数字并捕获(数字8)
   \d匹配数字,但未捕获
   \1对捕获的数字进行反向引用(数字8)

使用量词
\d{3}-?\d{3}-?\d{4}胡括号中的数字表示待查找的数字出现的次数,包含数字的花括号是一种量词,花括号本身用作元字符。
.:可以匹配任意字符
?:表示无或一个
+:表示一个或多个
*:表示零个或多个
^:表示一个行或字符串起始位置
$:表示匹配行或字符串结束位置


1、简单模式匹配
.  可以匹配任意字符,但某些情况下 不能匹配行起始符。
\D:匹配空格、标点符号(引号、连字符、反斜杠、方括号)等
\w:只匹配数字、字母(大小写)、下划线 等同于[_0-9a-zA-Z]
\W:匹配空格、标点以及其他非字母、非数字字符,等同于[^_0-9a-zA-Z]
[\w] = [^\W]
\s:匹配空白符等同于[ \t\n\r](空格、制表符\t、换行符\n、回车符\r)
\S:匹配非空白符 等同于[^ \t\n\r]   [\s] = [^\S]


2、边界
断言标记边界,但是并不耗用字符,即字符并不会返回到结果中显示,断言也被称作零宽度断言;零宽度断言不匹配字符,而是匹配字符串的位置。
例如其中一些:^和$也叫做锚位符。
行或者字符串的起始和结束位置
^,$;在正则表达式中'\'找不到配对响应特殊含义的表达式是用来做转义,例如‘.’表示匹配任意字符,那么要单独匹配字符串中的‘.’时就要通过转义即'\.'在正则表达式中表示
单词边界(两种)
\b\b:单词边界
\bthe\b:第一个\b表示单词的左边界,第二\b表示单
词的右边界,此时的意思为匹配单词the
\be:表示匹配左边界为e的单词,e\b:表示匹配右边界为e的单词
\B\B:非单词边界
\Be:表示匹配除左边界为e的单词中的所有e,e\B:表示匹配除右边界为e的单词中的所有e


3、选择
选择操作可在多个可选模式中匹配一个。
例如:(THE|the|The)匹配文中这三种形式的the
4、分组
分组:对文本加括号以帮助执行某种做操作。
5、后向引用
后向引用两种形式 \1和$1 1表示第一个分组,可以为任意存在的分组的顺序数字
若要取消该分组的后向引用即非捕获分组,在分组前加?:,例(?:\d):表示该分组不在后向引用


6、字符组
字符组即方括号表达式
0 0
原创粉丝点击