正则表达式规则和使用

正则表达式

正则表达式就是符合一定规则的字符串 ,主要作用是匹配字符串

元字符

元字符描述举例
. 英文点符表示的是除了\n以外的任意一个字符a、s、,、1、¥等
[ ] 中括号表示范围;
还可以清除表达式中的元字符的作用,比如[.]就失去了上述作用,代表仅仅是英文点而已
比如:
[0-9] 表示的是0-9之间的任意一个数字;
[a-z] 表示小a到小z之间的任意一个小写字母;
[0-9a-z A-Z]表示数字0-9和者全部大小写字母中的任意一个字符
|一个竖线或者的意思比如[0-9]|[a-z]表示是数字或者是小写字母中的任意一个字符
()圆括号分组(.[0-9][a-z])([A-Z][0-9])
*星号限定前面的表达式对应的字符出现的次数[a-z][0-9]* 就代表一个小写字母加上0或者是n个数字
+ 加号限定前面的表达式对应的字符出现1个及以上[0-9][a-z]+ 表示一个数字加上1个及以上的字母
? 问号限定前面的表达式出现0次或者1次
{} 花括号限定前面的表达式出现的次数[0-9]{6,10} 它的意思是数字出现的次数是6到10次,也就是说可以匹配是6到10位长度的数字串
^ 该符号是shift+数字键6的输入在表达式外面表示以后面的表达式开始;
或者是放在表达式内部表示取反
^[a-z]表示以小写字母开头;
[^a-z]表示除了小写字母以外的任意字符
$ 美元符表示以前面的表达式结束比如: [9]$ 必须以数字9为结束
\d任意一个数字相当于[0-9][a-z][0-9] == [a-z]\d
\D任意一个非数字数字以外的任意字符
\s空白符比如输入的是空格或者tab键
\S非空白符能看得到的都是非空白
\w非特殊符号_下划线、字母等等价于[A-Za-z0-9_]
\W特殊符号等价于[^A-Za-z0-9]

正则表达式的规则

类型举例
字符‘x’ 表示字符 “x”
"\\"反斜线字符,需要两个反斜线才代表一个反斜线
"\n"换行符
"\r"回车符
字符类“[abc]”: a、b或c
“[^abc]” :任何字符,除了a、b或c,也就是上一条内容的否定
“[a-zA-Z]”:范围是所有的英文大小写字母,a到z或A到Z,两头的字母包括在内
“[0-9]” : 范围是0到9的数字字符
预定义字符类“.“英文点,表示任何字符,如果想表示“.”本身,只需要加上反斜杠”\.”
“\d” 反斜杠+小写d,表示数字:[0-9]
“\D"反斜杠+大写D,表示非数字:”[^0-9]"
“\w” 斜杠+小写w,表示单词字符:[a-zA-Z_0-9],在正则表达式中组成单词的字符,必须由该指定字符组成。
边界匹配器“^”以xx开始,行的开头,可以结合Linux中vim的行命令一起记忆
“$”以xx结尾,行的结尾,可以结合Linux中vim的行命令一起记忆
“\b”反斜杠+小写b,单词边界–即不是单词字符(单词字符见上面的预定义字符类,及字母数字和下划线)的地方,比如 hi zhengze,how are u! 这里的单词边界是空格、逗号和感叹号。
数量词“X?” X ,一次或一次也没有,及X的出现的次数小于等于1次
“X*” X,零次以上,及X出现的次数大于等于0
"X+"X,一次及以上,及X出现的次数大于等于1
“X{n}” X,恰好出现n次,及X出现次数等于n
“X{n,}” X,至少n次 ,及X出现次数大于等于n
“X{n,m}” X,至少n次,但是不超过m次,及X出现次数大于等于n,且小于等于m

正则表达式的应用(功能)

功能类型举例(以Java中的使用为例)
判断功能String 类中的 方法:public boolean matches(String regex),常用于邮箱、手机等的校验,这里以邮箱为例 email.matches("[a-zA-Z_0-9]+@[a-zA-Z_0-9]{2,6}\\.[a-zA-Z_0-9]{2,3}");
分割功能public String[] split(String regex),根据分割符返回一个字符串数组
替换功能public String replaceAll(String regex, String replacement),比如说替换掉敏感词等
获取功能Pattern和Matcher类的使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值