梦书之家(移动开发)

你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。 ——肖伯纳

导航

正则表达式 学习笔记

1、环视(Look around)
环视结构不匹配任何字符,只匹配文本中的特定的位置;环视不会“占用”字符。
环视的类型有:
类型 正则表达式 匹配成功的条件
肯定顺序环视 (?=......) 子表达式能够匹配右侧文本
肯定逆序环视 (?<=......) 子表达式能够匹配左侧文本
否定顺序环视 (?!......) 子表达式不能匹配右侧文本
否定逆序环视 (?<!......)  子表达式不能匹配左侧文本

2、固化(atomic)分组
(?>......)
在固化分组中,它永远也不会“归还”已经匹配的任何内容
3、占有优先量词
?+......
*+......
++......
{m,n}+

4、匹配优先量词
*......
+......
?......
{num,num}
这些量词都是“匹配优先”(Greedy,类似于算法中的一种贪心算法)的,匹配尽可能多的内容。

5、忽略量词优先
*?......
+?......
??......
{num,num}??.....
一旦匹配某些内容,就不会“归还”
这些忽略的优先量词会匹配尽可能少的内容。

6、仅用于分组的括号 —— 非捕获型括号
(?:......)
捕获型括号:(......)与\1, \2, ...

7、命令捕获
(?<Name>......)

make by 梦书

posted on 2007-10-14 18:33  梦书  阅读(564)  评论(0编辑  收藏  举报