本文共 1255 字,大约阅读时间需要 4 分钟。
代码
说明.匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字 比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束代码/语法说明重复零次或更多次+重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次(\d{1,3}.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1到3位的数字,(\d{1,3}.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。代码/语法说明\W匹配任意不是字母,数字,下划线,汉字的字符\S匹配任意不是空白符的字符\D匹配任意非数字的字符\B匹配不是单词开头或结束的位置[^x]匹配除了x以外的任意字符[^aeiou]匹配除了aeiou这几个字母以外的任意字符代码/语法说明?重复任意次,但尽可能少重复+?重复1次或更多次,但尽可能少重复??重复0次或1次,但尽可能少重复{n,m}?重复n到m次,但尽可能少重复{n,}?重复n次以上,但尽可能少重复代码/语法说明\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)贪婪子表达式(?<x>-<y>exp)平衡组(?im-nsx:exp)在子表达式exp中改变处理选项(?im-nsx)为表达式后面的部分改变处理选项(?(exp)yes|no)把exp当作零宽正向先行断言,如果在这个位置能匹配,使用yes作为此组的表达式;否则使用no(?(exp)yes)同上,只是使用空表达式作为no(?(name)yes|no)如果命名为name的组捕获到了内容,使用yes作为表达式;否则使用no(?(name)yes)同上,只是使用空表达式作为no转载于:https://blog.51cto.com/amazing61/2063852