正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。
字符集合 说明
^ 匹配输入字符串的开始位置。要匹配 "^" 字符本身,请使用 "\^"
$ 匹配输入字符串的结尾位置。要匹配 "$" 字符本身,请使用 "\$"
( ) 标记一个子表达式的开始和结束位置。要匹配小括号,请使用 "
"和"
"
[ ] 用来自定义能够匹配 '多种字符' 的表达式。要匹配中括号,请使用 "
{ } 修饰匹配次数的符号。要匹配大括号,请使用 "\{" 和 "\}"
. 匹配除了换行符(\n)以外的任意一个字符。要匹配小数点本身,请使用 "\."
? 修饰匹配次数为 0 次或 1 次。要匹配 "?" 字符本身,请使用 "\?"
+ 修饰匹配次数为至少 1 次。要匹配 "+" 字符本身,请使用 "\+"
* 修饰匹配次数为 0 次或任意次。要匹配 "*" 字符本身,请使用 "\*"
| 左右两边表达式之间 "或" 关系。匹配 "|" 本身,请使用 "\|"
字符集合 说明
. 小数点可以匹配除了换行符(\n)以外的任意一个字符
\w 可以匹配任何一个字母或者数字或者下划线
\W W大写,可以匹配任何一个字母或者数字或者下划线以外的字符
\s 可以匹配空格、制表符、换页符等空白字符的其中任意一个
\S S大写,可以匹配任何一个空白字符以外的字符
\d 可以匹配任何一个 0~9 数字字符
\D D大写,可以匹配任何一个非数字字符
限定符 说明
{n} 表达式固定重复n次,比如:"\w{2}" 相当于 "\w\w"
{m, n} 表达式尽可能重复n次,至少重复m次:"ba{1,3}"可以匹配 "ba"或"baa"或"baaa"
{m, } 表达式尽可能的多匹配,至少重复m次:"\w\d{2,}"可以匹配 "a12","x456"...
? 表达式尽可能匹配1次,也可以不匹配,相当于 {0, 1}
+ 表达式尽可能的多匹配,至少匹配1次,相当于 {1, }
* 表达式尽可能的多匹配,最少可以不匹配,相当于 {0, }
选择表达式 xxx | xxx:
使用竖线 "|" 分隔多段表达式,整个表达式可匹配其中任意一段。
说明
正则引擎总是从左向右进行尝试匹配,如果每一段表达式都匹配失败,则整个表达式匹配失败。
正则表达式示例:
英文 = "^[A-Za-z]+$";
数字 = "^\\d+$";
整数 = "^[-\\+]?\\d+$";
实数 = "^[-\\+]?\\d+(.\\d+)?$";
邮件 = "^[a-zA-Z0-9_]+@[a-zA-Z0-9_]+.[a-zA-Z]{2,5}?((.cn)|(.jp))?$";
邮件2 = "^[a-zA-Z0-9_]+[\\Wa-zA-Z0-9_]*@[a-zA-Z0-9_]+.[a-zA-Z]{2,5}?((.cn)|(.jp))?$";
网址 = "^http:\\\\\\[A-Za-z0-9]+.[A-Za-z0-9]+[-\\\=?%&_~`@\\[\\]\':+!]*([^<>\"\"])*$";
电话 = "^((\\(\\d{3}\\-\\))?(\\(0\\d{2,3}\\)|0\\d{2,3}-))?[1-9]\\d{6,7}$";
手机 = "^((\\(\\d{3}\\))|(\\d{3}\\-))?((13)|(15))\\d{9}$";
货币 = "^\\d+(\\.\\d+)?$";
邮编 = "^[1-9]\\d{5}$";
身份证 = "^\\d{17}[x0-9]$";
QQ = "^[1-9]\\d{4,8}$";
UnixPath="^([/][A-Za-z0-9])+*$";