曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4120|回复: 0
打印 上一主题 下一主题

量词

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2011-8-25 16:35:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有时想进行更丰富的查找,或在更大范围内进行更多的搜索。比如想找到至少包含两个 'p' 字符的字符串,甚至是以 'p' 开头或以 'p' 结尾的字符串等。

在正则表达式中插入特定的字符就可以实现这些要求。下面是一些示例:

p+ : 匹配任何至少包含一个 p 的字符串。

p* : 匹配任何包含零个或多个 p 的字符串。

p? : 匹配任何包含零个或一个 p 的字符串。

p{2} : 匹配任何包含两个 p 序列的字符串。

p{2,3} : 匹配任何包含两个或三个 p 序列的字符串。

p{2,} : 匹配任何至少包含两个 p 序列的字符串。

p$ : 匹配任何以 p 结尾的字符串。

还有些标志可以放在字符序列的前面,或者置于字符序列的中间:

^p : 匹配任何以 p 开头的字符串。

[^a-zA-Z] : 匹配任何 不包含 从 a-z 和 A-Z 字符的字符串。( '^' 符号放在 [ ] 里不表示 ”开头“ 的意思,而是取反,不匹配之意 )

p.p : 匹配任何包含字符 p,接下来时任何字符,再接下来又是 p 的字符串。

还可以组合一些特殊字符,构成更加复杂的表达式,如下所示:

^.{2}$ : 匹配任何只包含 2 个字符的字符串。

<b>(.*)</b> : 匹配任何被 <b> 和 </b> 包围的字符串 (<b>和</b> 是 HTML 的粗体标记)。

p(hp)* : 匹配任何包含一个 p,后面是零个或则多个 hp 的字符串。

搜索特殊字符时需要用反斜线 '\' 进行转义。比如在一个文本里搜索美元数,那么一个可能的正则表达式是: ([\$])([0-9]+) ;这表示美元符号后跟一个或多个整数,比如可以匹配 $8, $28, $482 这样的数。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-17 20:08 , Processed in 0.079826 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表