A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小江哥 黑马粉丝团   /  2019-12-23 19:14  /  1304 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

正则表达式
英文:Regular Expression,在代码中常简写为regex、regexp或RE,使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

什么是正则表达式:
1、正则表达式是由一个字符序列形成的搜索模式
2、当你在文本检索数据时,你可以用搜索模式来描述你要查询的内容
3、正则表达式可以是一个简单的字符 或一个更复杂的模式
4、正则表达式可以用于所有文本搜索和文本替换的操作

语法:/正则表达式/修饰符(可选)


方括号

表达式        作用
[abc]        查找方括号之间的任何字符
[^abc]        查找任何不在方括号之间的字符
[0-9]        查找任何从0至9的数字
[a-z]        查找任何从小写a到小写z的字符
[A-Z]        查找任何从大写A到大写Z的字符
[A-z]        查找任何从大写A到小写z的字符
正则表达式的修饰符:

修饰符        简介
i        忽略大小写
g        全局匹配
m        多行匹配
预定义字符集:

字符        作用
.(点)        查找单个字符,出了换行和行结束符
\w        查找单词字符
\W        查找非单词字符
\d        查找数字
\D        查找非数字字符
\s        查找空白字符
\S        查找非空白字符
\b        匹配单词边界
\B        匹配非单词边界
\n        查找换行符
\f        查找换页符
\r        查找回车符
\t        查找制表符

量词

量词        作用
n+        匹配任何包含至少一个n的字符串 ,多了不限制
n*        匹配任何包含零个或多个n的字符串 (可有可无,多了不限制)
n?        匹配任何包含零个或一个n的字符串 (可有可无,最多一次)
{n}        必须出现n次
{n,}        必须最少出现两次,多了不限制
{n,m}        最少出现n次,最多出现m次
n$        匹配任何结尾为n的字符串
^n        匹配任何开头为n的字符串(还有一种取非用法:[^xxx] 除了xxx以外的)
?=n        匹配任何其后紧接指定字符串n的字符串
?!n        匹配任何其后没有紧接指定字符串n的字符串
正则表达式的API:
conmpile:编译正则表达式
exec:(检索字符串中指定的值,返回找的值,并确定位置)
test:检索字符串中指定的值。返回true和false


常用的正则表达式:

常用的正则        作用
Email地址        ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
域名        [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
InternetURL        [a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
18位身份证号码        ^((\d{18})|([0-9x]{18})|([0-9X]{18}))$
帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)        ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)        ^[a-zA-Z]\w{5,17}$
日期格式        ^\d{4}-\d{1,2}-\d{1,2}
中文字符        [\u4e00-\u9fa5]
空白行(可以用来删除空白行)        \n\s*\r
首尾空白字符(可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)        ^\s*|\s*$或(^\s*)|(\s*$)
qq号        [1-9][0-9]{4,}
中国邮政编码        [1-9]\d{5}(?!\d)
IP地址        \d+\.\d+\.\d+\.\d+


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马