加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式快速入门

发布时间:2020-12-13 22:58:42 所属栏目:百科 来源:网络整理
导读:1. 两个特殊的符号 '^' 和 '$' 。他们的作用是分别指出一个字符串的开始和结束。例子如下: "^The" :表示所有以 "The" 开始的字符串( "There" , "The cat" 等); "of despair$" :表示所以以 "of despair" 结尾的字符串; "^abc$" :表示开始和结尾都是

1.两个特殊的符号'^''$'。他们的作用是分别指出一个字符串的开始和结束。例子如下:

"^The":表示所有以"The"开始的字符串("There""The cat"等);
"of despair$":表示所以以"of despair"结尾的字符串;
"^abc$":表示开始和结尾都是"abc"的字符串——呵呵,只有"abc"自己了;
"notice":表示任何包含"notice"的字符串。

2,通配符 * ?+

*:0个或多个

?:0个或一个

+:1个或多个

"ab*":表示一个字符串有一个a后面跟着零个或若干个b。("a","ab","abbb",……);
"ab+"
后面跟着至少一个或者更多;
"ab?"
后面跟着零个或者一个
"a?b+$"
:表示在字符串的末尾有零个或一个跟着一个或几个b


3.()和[ ],{ }

( )表一个

【 】表示一个范围

{ }表示字符重复次数

"ab{2}"跟着2"abb"
"ab{2,}"
跟着至少
"ab{3,5}"
35b


"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]%"
示两个百分号中不应该出现字母)。



demon

3.正则表达式的应用实例通俗说明

*******************************************************************************

//校验是否全由数字组成

/^[0-9]{1,20}$/

^表示打头的字符要匹配紧跟^后面的规则

$表示打头的字符要匹配紧靠$前面的规则

[ ]中的内容是可选字符集

[0-9]表示要求字符范围在0-9之间

{1,20}表示数字字符串长度合法为1到20,即为[0-9]中的字符出现次数的范围是1到20次。

/^和$/成对使用应该是表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串。

*******************************************************************************

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串

/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/

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

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

*******************************************************************************

//校验用户姓名:只能输入1-30个以字母开头的字串

/^[a-zA-Z]{1,30}$/

*******************************************************************************

//校验密码:只能输入6-20个字母、数字、下划线

/^(w){6,20}$/

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

*******************************************************************************

//校验普通电话、传真号码:可以“+”或数字开头,可含有“-”和“”

/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/

d:用于匹配从0到9的数字;

“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次

可以匹配的字符串如:+123 -999 999;+123-999 999;123 999 999;+123 999999等

*******************************************************************************

//校验URL

/^http[s]{0,1}://.+$/或/^http[s]{0,1}://.{1,n}$/ (表示url串的长度为length(“https://”) + n )

/:表示字符“/”。

.表示所有字符的集

+等同于{1,},就是1到正无穷吧。

*******************************************************************************

//校验纯中文字符

/^[u4E00-u9FA5]+$/

[u4E00-u9FA5]:估计是中文字符集的范围吧

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读