实例讲解POSIX正则表达式之定位符

使用POSIX正则表达式,定位符是最基本也是最重要的,使用正则表达式,就必须知道"^"和"$"这两个定位符。

定位符的作用是用于描述字符串或单词的边界(Border),"^"和"$"分别表示字符串的开始与结束,来通过例子说明这两个定位符:

 

1.^long

这个模式包含了"^"这个定位符,表示与该模式匹配的字符串应该是以 long 开头的。例如这个模式可以与"long long ago"相匹配,但是不能与"once long long ago" 匹配,这就是"^"表示字符串的开始。

 

2.bark$

这个模式包含了"$"这个定位符,也就意味着与该模式匹配的字符串应该是以bark作为结尾的。例如这个模式可以与"the dog likes to bark"匹配,但是不能与"the dog likes to bark loudly"匹配,说明"$"表示字符串的结尾。

 

3. ^bark$

看看前面的两个例子就应该知道这个模式只可以匹配"bark" ,这个模式表示“以bark”开头,并以"bark"结尾,这可以称作是POSIX精确匹配,意思就是字符串与模式一样。

 

4.long

这个模式不包含任何定位符,就意味着该模式可以匹配所有在字符串中出现过"long"的字符串。例如它可以匹配"Once long long ago, the dog liked to bark." 。

在这个模式中long就是字面的字符,它表示字母本身,换成数字也是如此。如果遇到像换行之类的复杂字符,需要使用转义序列。

 

此外,"^"一旦加入了方括号就表示取非的匹配,例如[^bark]与 "barking dog"虽然是相匹配的,但是程序最终会返回Flase的布尔值。

posted @ 2008-08-06 18:20  Wxzbb  阅读(1411)  评论(0编辑  收藏  举报