全部博文(237)
分类: LINUX
2009-02-03 16:48:08
1.修饰匹配次数的特殊符号 操作符 |
效果 |
---|---|
. | 匹配任何单个字符。 |
? | 之前的项目是可选的,匹配最多一次。 |
* | 匹配出现零次或者多次的先前项目。 |
+ | 匹配一次或者多次先前项目。 |
{N} | 精确匹配N次先前的项目。 |
{N,} | 先前的项目匹配N或者更多次。 |
{N,M} | 先前的项目匹配至少N次,但是不多于M次。 |
- | 表示范围如果不是列表中最先或者最后或者一个范围的结束点。 |
^ | 匹配行开始的空字符串;也表示不在列表范围内的字符。(与字符串开始的地方匹配,不匹配任何字符) |
$ | 匹配行末的空字符串。(与字符串结束的地方匹配,不匹配任何字符) |
\b | 匹配词两边的空字符串。 |
\B | 匹配提供的空字符串Matches the empty
string provided it's not at the edge of a word.( 匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符 ) |
\< | 匹配任何词开头的空字符串。 |
\> | 匹配任何词结尾的空字符串。 |
正则表达式中的一些表示方法,可以匹配 '多种字符' 其中的任意一个字符。比如,表达式 "\d" 可以匹配任意一个数字。虽然可以匹配其中任意字符,但是只能是一个,不是多个。这就好比玩扑克牌时候,大小王可以代替任意一张牌,但是只能代替一张牌。
表达式 |
可匹配 |
\d |
任意一个数字,0~9 中的任意一个 |
\w |
任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个 |
\s |
包括空格、制表符、换页符等空白字符的其中任意一个 |
. |
小数点可以匹配除了换行符(\n)以外的任意一个字符 |
使用方括号 [ ] 包含一系列字符,能够匹配其中任意一个字符。用 [^ ] 包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。
表达式 |
可匹配 |
[ab5@] |
匹配 "a" 或 "b" 或 "5" 或 "@" |
[^abc] |
匹配 "a","b","c" 之外的任意一个字符 |
[f-k] |
匹配 "f"~"k" 之间的任意一个字母 |
[^A-F0-3] |
匹配 "A"~"F","0"~"3" 之外的任意一个字符 |
2个正则表达式可以连接起来;结果正则表达式匹配任何字符串。the resulting regular expression matches any string formed by concatenating two substrings that respectively match the concatenated subexpressions.
2个正则表达式可以用中缀操作符 “|” 连接起来;作为结果的正则表达式匹配任何匹配字表达式的字符串。
循环任务优先于串联,轮流接管优先级。整个子表达式可以放入括号中来忽略这些优先级规则。
在基本正则表达式中统配符 “?”, “+”, “{”, “|”, “(”, 和 “)” 失去了它们的特殊含义;取而代之的是斜杠版本 “\?”, “\+”, “\{”, “\|”, “\(”, 和 “\)”.
检查你的系统文档确定使用正则表达式的命令是否支持扩展表达式。