[转]正则表达式语法
语法 | 意义 | 说明 |
"." | 除换行符外的任意字符 | |
"^" | 字符串开始 | '^hello'匹配'helloworld'而不匹配'aaaahellobbb' |
"$" | 字符串结尾 | 与上同理 |
"*" | 匹配前一个字符0次或则多次(贪婪匹配) | <*>匹配<title>chinaunix</title> |
"+" | 匹配前一个字符1次或则多次(贪婪匹配) | 与上同理 |
"?" | 匹配前一个字符0次或则1次(贪婪匹配) | 与上同理 |
*? +? ?? |
以上三个取第一个匹配结果(非贪婪匹配) 单独来看是贪婪,结合就变非贪婪 |
<*>匹配<title> |
{m,n} | 对于前一个字符重复m到n次,{m}亦可 | a{6}匹配6个a、a{2,4}匹配2到4个a |
{m,n}? | 对于前一个字符重复m到n次,并取尽可能少 | ‘aaaaaa'中a{2,4}只会匹配2个 |
"\\" | 特殊字符转义或者特殊序列 | |
[] | 表示一个字符集 | [0-9]、[a-z]、[A-Z]、[^0] |
"|" | 或 | A|B,或运算 |
(...) | 匹配括号中任意表达式 | |
(?#...) | 注释,可忽略 | |
(?=...) | Matches if ... matches next, but doesn't consume the string. | '(?=test)' 在hellotest中匹配hello |
(?!...) | Matches if ... doesn't match next. | '(?!=test)' 若hello后面不为test,匹配hello |
(?<=...) | Matches if preceded by ... (must be fixed length). | '(?<=hello)test' 在hellotest中匹配test |
(?<!...) | Matches if not preceded by ... (must be fixed length). | '(?<!hello)test' 在hellotest中不匹配test |
[^abc] | not a, b, or c | |
\A | 只在字符串开始进行匹配 | |
\Z | 只在字符串结尾进行匹配 | |
\b | 匹配位于开始或结尾的空字符串 | |
\B | 匹配不位于开始或结尾的空字符串 | |
\d | 数字,相当于[0-9] | |
\D | 非数字,相当于[^0-9] | |
\s |
匹配任意空白字符:[\t\n\r\r\v、、空格]
|
|
\S | 匹配任意非空白字符:[^\t\n\r\r\v] | |
\w | 匹配任意数字和字母:[a-zA-Z0-9] | |
\W | 匹配任意非数字和字母:[^a-zA-Z0-9] | |
[a-g] | character between a & g | |
[abc] | any of a, b, or c | |
\t \n \r | tab, linefeed, carriage return | |
\u00A9 | unicode escaped © |
作者:肥狐
出处:http://idbeta.cnblogs.com/
本博客内除了标题带[转]字样外的所有文章,均采用“署名-非商业性使用-禁止演绎 2.5 中国大陆”授权,任何违反本协议的行为均属于非法行为。如需非商业性转载,必须保留此段声明,且在文章页面明显位置给出原文连接。如需商业性转载出版,请直接和我联系。
如果您看了本篇博客,觉得对您有所收获,请点击右下方的【推荐】,同时欢迎您【关注我】
出处:http://idbeta.cnblogs.com/
本博客内除了标题带[转]字样外的所有文章,均采用“署名-非商业性使用-禁止演绎 2.5 中国大陆”授权,任何违反本协议的行为均属于非法行为。如需非商业性转载,必须保留此段声明,且在文章页面明显位置给出原文连接。如需商业性转载出版,请直接和我联系。
如果您看了本篇博客,觉得对您有所收获,请点击右下方的【推荐】,同时欢迎您【关注我】