正则表达式
一个正则表达式,实际代表了一类字符串基础正则表达式
-------------------------------------------------------------------
^word
待搜寻的字符串(word)在行首!
范例:grep '^#' regular-express.txt
word$
待搜寻的字符串(word)在行尾!
范例:grep '!$' regular-express.txt
\
跳脱字符,将特殊符号的特殊意义去掉!
范例:grep \' regular-express.txt
*
重复零个或多个的前一个RE字符。
如:.*为万用字符。
\{n,m\} 连续n到m个的前一个RE字符。
\{n\} 连续n个
\{n,\} 连续n个以上
[] 字符集合
[ab] a or b
[a-z] 小写字母。
[a-zA-Z]所用英文字母。
延伸正则表达式
-------------------------------------------------------------------
+ 重复一个或以上的前一个RE字符。
?零个或一个的前一个RE字符。
| 用or的方式搜寻数个字符串。
()找出群组字符串
范例:egrep 'g(la|oo)d' regular-express.txt
搜寻glad或good这两个字符串
-------------------------------------------------------------------
附摘自apache的正则表达式:
文本
. 任意一个单字符
[chars] 字符类: "chars"中的任意一个字符
[^chars] 字符类: 不在"chars"中的字符
text1|text2 选择: text1 或 text2
量词
? 前面的字符出现 0 或 1 次
* 前面的字符出现 0 或 N 次(N > 0)
+ 前面的字符出现 1 或 N 次(N > 1)
分组
(text) text 组
(常用于设置一个选择的边界,或用于生成后引用:
在RewriteRule中可以用 $N 引用第N个分组)
锚
^ 锚定到行首
$ 锚定到行尾
转义
\c 对给定的字符c进行转义
(比如对".[]()"进行转义,等等)
标签: 正则表达式
发表评论: