聚合 管理  

Blog Stats

News

我使用新博客啦:
http://www.linjunhai.com/
大家到我的新博客上看看吧!

随笔分类(28)

文章分类(4)

随笔档案(53)

文章档案(4)

相册

相关链接


林俊海的博客

超级大菜鸟,每天要自强!

这是一个准备不充分的课程,与网友交流时的尝试录制。。 网友普遍反映:太啰嗦

下载地址见:http://www.iscripts.org/forum.php?mod=viewthread&tid=3
---------------------------正则的用处----------------------------
1. 查找文本
2. 分割文本
3. 替换文本

正则如果结合程序语言一起使用,还可以实现更多的功能效果

----------------------------字符集合的应用-----------------------------------

[exp] 匹配[...]方括号中,所有列举出来的字符元素
[a-z] 匹配从a开始,到z结束的一个连续的字符区间, 包括 a, 包括z
[a-zA-Z0-9] 多个匹间也可以写在一起

需要转义的字符: ],-,\,^
它们分别的转义形式就是: \], \-, \\, \^

[^exp] 匹配除了 列举出来的字符 以外的所有字符
[^]    排除掉了0个字符,也就是说匹配任意字符

----------------------------几个常用字符的转义形式-----------------------------------
\t等价于制表符(tab)    
\n等价于换行符
\r等价于回车符
\a响铃, \f换页符(在word文档中,当按下Ctrl+Enter的时候,就可以插入一个换页符)
\xHH表示,一个Ascii字符,这个字符的ascii编码用两位十六进制数字表示 (HH 是两位十六进制数字)
\uHHHH 表示,一个Unicode字符,这个字符的Unicode编码用四位十六提制数字表示

----------------------------几个常用字符的字符集合-----------------------------------
\s等价于[ \r\n\t], 匹配空白字符,能匹配空格,回车,换行,制表符
\S等价于[^ \r\n\t], 匹配非空白字符
\s与\S互补,是互补集
[\s\S] 匹配任意字符

\d等价于[0-9] 匹配数字
\D等价于[^0-9]

\w等价于[a-zA-Z\d_]
\W等价于[^a-zA-Z\d_]
\w与\W互补,是互补集  \w等价于[^\W]
[\w\W] 匹配任意字符

.  匹配:除了回车符和换行符以外的 其它所有字符
.等价于[^\r\n]

常用的字符集合:\d \D \s \S \w \W .

-----------------------------限定符----------------------------------

e{n}    限定符{n}: 限定左边紧跟着的匹配规则e,e重复匹配N次  (n为数字)
e{3}等价于eee

ab{3}等价于abbb等价于a{1}b{3} 能够匹配到 "abbb" , 1个 a 紧跟着3个 b
ab{3}≠ababab

e{m,n} (m,n 皆为数字)    限定符{m,n}: 限定左边紧跟着的匹配规则e,e重复匹配 至少m次,至多n次
\d{6,9}  匹配连续的6到9个数字

e{m,}    限定符{m,}: 限定左边紧跟着的匹配规则e, e重复匹配 m 次或者 m 次以上

e+    限定符+: 限定左边紧跟着的匹配规则e, e重复匹配 1 次或者 1 次以上
e+等价于e{1,}

e*    限定符*: 限定左边紧跟着的匹配规则e, e重复匹配 0 次或者 0 次以上
e*等价于e{0,}

e?    限定符?: 限定左边紧跟着的匹配规则e, e重复匹配 0 次或者 1 次
e?等价于e{0,1}


贪婪模式的限定符(6个): {n},    {m,n},    {m,},    +,    *,    ?

懒惰模式的限定符(6个): {n}?,    {m,n}?,    {m,}?,    +?,    *?,    ??


-------------------------------------------------
|    "或者"的意思
exp1|exp2|exp3    匹配exp1或者exp2或者exp3, 这里呢 exp1,exp2, exp3 均为独立的“子表达式”



--------------------------------------------------

(Sub exp)    分组:把表达式的一部分放在(...)小括号中,这一部分称之为子表达式, 子表达式的捕获内容,会被单独存储起来,方便后续使用.
(....) 还常常用于 组织表达式的结构



注意:分组的时候,不能破坏表达式的匹配规则
分组不能交叉

-------------------------------------------------------

^    匹配零长度字符串,只能匹配字符串开始的位置
$    匹配零长度字符串,只能匹配字符串结束的位置
\b    匹配零长度字符串,只能匹配单词的边界

---------------------------断言----------------------------

(?=exp)        匹配零长度字符串, 匹配一个缝隙, 要求这个缝隙右边内容 可以被 exp 匹配
(?!exp)        匹配零长度字符串, 匹配一个缝隙, 要求这个缝隙右边内容不可以被 exp 匹配




---------------------------自引用----------------------------

\n    自引用。表示引用第 n 个捕获组己经捕获到的内容 (n 为数字)



---------------------------替换表达式----------------------------

$n    在替换表达式中, $n 用来引用第 n个捕获组在本次匹配中所捕获到的内容。
$&    引用整个表达式在本次匹配中 所捕获到的内容

$'    引用表达式在本次匹配中 捕获结果的后文
$`    引用表达式在本次匹配中 捕获结果的前文         (` 是 tab 上面那个字符)
$_    引用待查找文本全文

-------------------------------------------------------










----------------------------------------------------------
如有错误,请跟帖指正
如有觉得,某部分内容有必要补充,也请跟帖提出



posted on 2011-04-19 01:03 林俊海 阅读(220) 评论(0)  编辑  收藏 所属分类: 其它相关

只有注册用户登录后才能发表评论。


网站导航: