正则表达式

来源:互联网 发布:淘宝直通车定向推广 编辑:程序博客网 时间:2024/06/08 09:19
代码/语法说明.匹配除换行符以外的任意字符\w匹配字母或数字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束

表1·常用的特殊代码

代码\语法说明*重复零次或更多次+重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次

表2·常用的量词

代码\语法说明\W匹配任意不是字母和数字的字符\S匹配任意不是空白符的字符\D匹配任意非数字的字符\B匹配不是单词开头或结束的位置[^X]匹配除了x以外的任意字符[^aeiou]匹配除了aeiou这几个字母以外的任意字符

表3·常用的反义代码

代码\语法说明(exp)匹配exp,并捕获文本到自动命名的组里(?< name>exp)匹配exp,并捕获文本到名称为name的组里(?:exp)匹配exp,不捕获匹配的文本(?=exp)匹配exp前面的位置(?<=exp)匹配exp后面的位置(?!exp)匹配后面跟的不是exp的位置(?匹配前面不是exp的位置(?#comment)提供阅读注释

表4·分组语法

代码\语法说明*?重复任意次,但尽可能少重复+?重复一次或任意次,但尽可能少重复??重复0次活1次,但尽可能少重复{n,m}?重复n到m次,但尽可能少重复{n}?重复n次以上,但尽可能少重复

表5·懒惰量词

代码\语法说明\a报警字符(打印它的效果是电脑嘀一声)\b通常是单词分界位置,但如果在字符类里使用代表退格\t制表符,Tab\r回车\v竖向制表符\f换页符\n换行符\eEscape\0nnASCII代码中八进制代码为nn的字符\xnnASCII代码中十六进制代码为nn的字符\unnnnUnicode代码中十六进制代码为nnnn的字符\cNASCII控制字符,比如\cC代表Ctrl+C\A字符串开头(类似^,但不受处理多行选项的影响)\Z字符串结尾或行尾(不受处理多行选项的影响)\z字符串结尾(类似$,但不受处理多行选项的影响)\G当前搜索的开头\p{name}Unicode中命名为name的字符类,例如\p{IsGreek}(?>exp)贪婪子表达式(?-< y>exp)平衡组(?im-nsx:exp)在子表达式exp中改变处理选项(?im-nsx)为表达式后面的部分改变处理选项