PC6下载站

分类分类

ISAPI_Rewrite3使用教程

关注+2011-01-07作者:清晨

5 页 正则表达式

正则表达式


无标记插入
有时候你需要把子表达式编组为插入成份,但是不想为这个插入成分而吐出另一个标记的子表达式。在这种情况下,一个非标记插入(?:expression)可能有用。例如,下例表达式可以创建一个非子表达式:
"(?:abc)*"
N择1标记

当表达式可以匹配一个子表达式或另一个的时候,N择1标记起作用了。每个N择1可以用|隔开。每个N择1标记是一个最大可能性前缀子表达式,它是和重复操作符相反的行为。
示例:
? "a(b|c)"匹配"ab"或"ac"
? "abc|def"匹配"abc"或"def"
预置符
一个预置符是一个可以匹配所有作为预置成员的单个字符的预置。预置字符用方括号“[”和“]”括起来,可以容纳字面值、字符序列、字符类、经整理过的对象以及等价的类。用^打头的预置声明可以排除包含的内容。
示例:
字面值
? "[abc]"匹配"a"或"b"或"b"。
? "[^abc]"匹配"a"和"b"和"c"之外的所有字符。
字符序列
? "[a-z]"匹配所有的从"a"到"z"的字符
? "[^A-Z]"匹配所有的字符除了从"A"到"Z"的这些字符。
字符类
字符类用语法"[:classname:]"来表示,classname是声明过的预设值中的一个。例如:"[[:space:]]"是所有的空白占位符的预设。下表中的字符类是可用的:

 

alnum 所有的alpha数字字母
alpha 字母表字符[a-zA-Z]。其它字符也可以包含在内,这取决于本地环境
blank 所有的空白字符,包含回车或者空格
cntrl 所有的控制字符
digit 从0到9的数字
graph 所有的图画字符
lower 所有的小写字母[a-z],其它的字符也可以包含在内,这取决于本地环境
print 所有的印刷字符
punct 所有的标点符号
space 所有的空白占位符
upper 所有的大写字母[A-Z],其它的字符也可以包含在内,这取决于本地环境
xdigit 所有的16进字字符0~9,A-F
word 所有的词汇字符,包括字母数字外加underscore
unicode 所有的编码大于255的字符,这只对大范围字符特征类生效

这里有一些缩写法可以代替以上字符类:
? \w 代替 [:word:]
? \s 代替 [:space:]
? \d 代替 [:digit:]
? \l 代替 [:lower:]
? \u 代替 [:upper:]

展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消