from: http://jamesblog.iteye.com/blog/338182
1, . 匹配任何一个单个字符
2, [ ] 匹配字符集合中的任何一个字符
例如:[abcd], [a-z], [a-zA-Z0-9]
\w 匹配字母、数字和下划线_, \W相反
\d 匹配数字,等价于[0-9], \D相反
\s 匹配一个空白符,等价于[\f\n\t\v],不包括\b,\S相反
3, 重复匹配
+: 匹配一个或多个字符
*: 匹配零个或多个字符
?: 匹配零个或一个字符
{6} 设定重复匹配的次数
{2,6} 设定重复匹配次数的区间
{3,} 设定重复匹配次数的最小值
例如:[\w.]+@[\w.]+\.\w+ 配配mail地址
#[0-9A-Fa-f]{6} 匹配RGB颜色值
"懒惰型"元字符: *?/, +?, {n, }? , 以匹配"<b>ab</b> and <b>cd</b>"这样的字符串
4, 位置匹配
\b 匹配一个单词的边界,例如:\bcar\b 将匹配字符串中所有的单词car,但是不匹配 scatter 这样的单词。
\B 不匹配一个单词边界,例如:\B-\B 将匹配一个前后都不是单词边界的连接符。
^ 定义字符串的开头; $ 定义字符串的结尾。
例如:要确定一个文本是XML,合法的XML是以一个XML的声明开头的,<?xml version="1.0" encoding="UTF-8" ?>, 正则表达式为:^\s*<\?xml.*\?>
</html>标签之后不应该有任何实际内容,模式应该为:</[Hh][Tt][Mm][Ll]>\s*$
分行模式匹配,使用?m来启用分行模式匹配,例如:(?m)^\s*//.*$, 可以匹配文本中 // 开头的文本。
1, . 匹配任何一个单个字符
2, [ ] 匹配字符集合中的任何一个字符
例如:[abcd], [a-z], [a-zA-Z0-9]
\w 匹配字母、数字和下划线_, \W相反
\d 匹配数字,等价于[0-9], \D相反
\s 匹配一个空白符,等价于[\f\n\t\v],不包括\b,\S相反
3, 重复匹配
+: 匹配一个或多个字符
*: 匹配零个或多个字符
?: 匹配零个或一个字符
{6} 设定重复匹配的次数
{2,6} 设定重复匹配次数的区间
{3,} 设定重复匹配次数的最小值
例如:[\w.]+@[\w.]+\.\w+ 配配mail地址
#[0-9A-Fa-f]{6} 匹配RGB颜色值
"懒惰型"元字符: *?/, +?, {n, }? , 以匹配"<b>ab</b> and <b>cd</b>"这样的字符串
4, 位置匹配
\b 匹配一个单词的边界,例如:\bcar\b 将匹配字符串中所有的单词car,但是不匹配 scatter 这样的单词。
\B 不匹配一个单词边界,例如:\B-\B 将匹配一个前后都不是单词边界的连接符。
^ 定义字符串的开头; $ 定义字符串的结尾。
例如:要确定一个文本是XML,合法的XML是以一个XML的声明开头的,<?xml version="1.0" encoding="UTF-8" ?>, 正则表达式为:^\s*<\?xml.*\?>
</html>标签之后不应该有任何实际内容,模式应该为:</[Hh][Tt][Mm][Ll]>\s*$
分行模式匹配,使用?m来启用分行模式匹配,例如:(?m)^\s*//.*$, 可以匹配文本中 // 开头的文本。
本文详细介绍了正则表达式的各种元字符及用法,包括字符匹配、重复匹配、位置匹配等核心概念,并提供了实例帮助理解。
9万+

被折叠的 条评论
为什么被折叠?



