正则表达式的基本用法
一:正则表达式基本语法(常见的):
字符 | 代表的含义 |
^ | 表示以什么开头 |
$ | 表示以什么结尾 |
* | 表示零个或若干个,相当于{0,} |
+ | 表示至少一个或更多,相当于{1,} |
? | 表示零个或若一个,相当于{0,1} |
| | 表示或 |
. | 表示任何字符 |
[] | 表示某些字符允许在一个字符串中的某一特定位置出现 |
\d | 表示匹配一个数字字符。等价于[0-9]。 |
\D | 表示匹配一个非数字字符。等价于[^0-9]。 |
\f | 表示匹配一个换页符。等价于\x0c和\cL。 |
\n | 表示匹配一个换行符。等价于\x0a和\cJ。 |
\r | 表示匹配一个回车符。等价于\x0d和\cM。 |
\s | 表示匹配任何不可见字符,包括空格、制表符、换页符等等。 等价于[ \f\n\r\t\v]。 |
\S | 表示匹配任何可见字符。等价于[^ \f\n\r\t\v]。 |
\t | 表示匹配一个制表符。等价于\x09和\cI。 |
\v | 表示匹配一个垂直制表符。等价于\x0b和\cK。 |
\w | 匹配包括下划线的任何单词字符。 类似但不等价于“[A-Za-z0-9_]”, 这里的"单词"字符使用Unicode字符集。 |
\W | 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。 |
"bye$":表示所有以"bye"结尾的字符串;
"^123$":表示开始和结尾都是"123"的字符串;
"我":表示任何包含"我"的字符串。
"ab+":表示一个字符串有一个a后面跟着至少一个b或者更多("ab","abb","abbb",……);
"ab?":表示一个字符串有一个a后面跟着零个或者一个b("a","ab");
"(ab¦cd)ef":表示"abef"或"cdef";
示两个百分号中不应该出现字母)。
二:正则表达式的应用(常用的):
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email地址
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
"^\w+$" //由数字、26个英文字母或者下划线组成的字符串
"^\d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\d+$" //整数
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址
^([0-9A-F]{2})(-[0-9A-F]{2}){5}$ //MAC地址的正则表达式
^[-+]?\d+(\.\d+)?$ //值类型正则表达式