正则表达式基本语法速查

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

正则表达式基本语法

‘^’ ,’$’。

’^’:指出一个字符串的开始。
“^The”:表示所有以"The"开始的字符串(“There”,"The cat"等);

’$ ':指出一个字符串的结束。
“of despair$”:表示所有以"of despair"结尾的字符串;

“^abc$”:表示开始和结尾都是"abc"的字符串——只有"abc"自己;
“notice”:表示任何包含"notice"的字符串。

‘*’,’+’,’?’,’{ }’

’*’:表示没有或更多,>=0。
“ab*”:表示一个字符串有一个a后面跟着零个或若干个b。(“a”, “ab”, “abbb”,……);

’+’:表示至少有一个或更多,>=1。
“ab+”:表示一个字符串有一个a后面跟着至少一个b或者更多,(“ab”, “abbb”,……);

’?’:表示要么没有,要么只有一个,0 or 1。
“ab?”:表示一个字符串有一个a后面跟着一个b或没有b,(“a”,“ab”);

’{ }’:用以表示重复次数的范围。
“ab{2}”:表示一个字符串有一个a跟着2个b(“abb”);
“ab{2,}”:表示一个字符串有一个a跟着至少2个b;
“ab{3,5}”:表示一个字符串有一个a跟着3到5个b。

必须指定范围的下限(如:"{0,2}" 而不是"{,2}")。’*’,’+'和
'?'相当于"{0,}","{1,}“和”{0,1}"。

‘|’

’|’:表示“或”操作
“hi|hello”:表示一个字符串里有"hi"或者"hello";
“(b|cd)ef”:表示"bef"或"cdef";
“(a|b)*c”:表示一串"a"“b"混合的字符串后面跟一个"c”;

‘.’

’.’:可以替代任何字符:
“a.[0-9]”:表示一个字符串有一个"a"后面跟着一个任意字符和一个数字;
“^.{3}$”:表示有任意三个字符的字符串(长度为3个字符);

‘[ ]’

’[ ]’:表示某些字符允许在一个字符串中的某一特定位置出现:
“[ab]”:表示一个字符串有一个"a"或"b"(相当于"a¦b");
“[a-d]”:表示一个字符串包含小写的’a’到’d’中的一个(相当于"a¦b¦c¦d"或者"[abcd]");
" ^ [a-zA-Z ] ":表示一个以字母开头的字符串;
“[0-9]%”:表示一个百分号前有一位的数字;
“,[a-zA-Z0-9]$”:表示一个字符串以一个逗号后面跟着一个字母或数字结束。

在方括号里用’ ^ '表示不希望出现的字符,’^ '应在方括号里的第一位。(如:"%[^a-zA-Z]%"表示两个百分号中不应该出现字母)。

如果为了是为了匹配这些特殊字符,就必须在 " ^.$()¦*+?{\ " 这些字符前加上转移字符’\ '。请注意在方括号中,不需要转义字符。

用例解析

1、校验是否全由数字组成
^ [0-9]{1,20}$

^ 表示打头的字符要匹配紧跟^后面的规则
$ 表示打头的字符要匹配紧靠$前面的规则
[ ] 中的内容是可选字符集
[0-9] 表示要求字符范围在0-9之间
{1,20}表示数字字符串长度合法为1到20,即为[0-9]中的字符出现次数的范围是1到20次。
^ 和 $成对使用应该是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串。

2、校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
/^ [a-zA-Z]{1}([a-zA-Z0-9]|[ . _ ]){4,19}$

^ [a-zA-Z]{1} 表示第一个字符要求是字母。

([a-zA-Z0-9]|[. _ ]){4,19} 表示从第二位开始(因为它紧跟在上个表达式后面)的一个长度为4到9位的字符串,它要求是由大小写字母、数字或者特殊字符集[._]组成。

3、校验密码:只能输入6-20个字母、数字、下划线
/^(\w){6,20}$/

\w:用于匹配字母,数字或下划线字符

总结

正则表达式是一个string对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊意义的字符称作正则表达式中的元字符

string对象调用public boolean matches(string regex)方法可以判断当前string对象的字符序列是否和参数regex指定的正则表达式匹配。

元字符

元字符表示正则表达式中出现的内容是什么
在这里插入图片描述
自定义元字符:[ ]
在这里插入图片描述

限定修饰符

限定修饰符用于限定正则表达式中元字符出现的次数

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuochaoHN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值