本文主要介绍正则表达式的半小时掌握——精华版,有需要的朋友可以参考一下。
虽然之前没贴多少正则表达式教程,但是这篇文章还是不错的。很实用,没有任何废话。前提是你之前需要了解一些正则表达式,或者先看一些基本的正则表达式教程比较好。
-
和$分别用于匹配字符串的开头和结尾。
-
例1 ^b必须有一个' b '字符串开头;
2 /b$结尾必须有一个字符串“/b”;
例3 abc $以abc开头、以abc结尾的字符串实际上只匹配abc。
示例4 abc匹配包含abc但没有符号的字符串
-
*然后呢?用于表示字符出现的次数或顺序。它们分别表示
-
{0,}=*例1 ab{0,}匹配从a开始然后b出现O-N次(' a ',' ab ',' abb ',' a bbbbbbbbbbbbbb ',无限.)
{1,}=示例2 ab{1,}匹配从A开始,后面跟着B,进行1-N次(' ab ',' ABB ',' A BBBBBBBBBBBB ',无限制.)
{0,1}=?例3 ab{0,1}匹配以a开头,然后b出现O-1次(' a ',' ab ')。
示例4 a{0,1}b $匹配以0或1 A加a B结尾的字符串(' b ',' ab ')
注意(两种写法)
Ab{0,}也可以写成ab*
Ab{1,}也可以写成Ab
Ab{0,1}也可以写成Ab?
A{0,1}b $也可以写成a?乙美元
(1)1分,' * ',和'?只要控制前面的字符出现的次数就可以了。
2 {N,N}多少次{0}次
3{}这不能是负数。
(2)次数可以修改。
例5 ab{2}要求A后面必须跟两个B(一个都不能少)如(' abb ');
例6 ab{2,}要求A后面必须跟两个以上的B,如(' abb ',' abbbb '等。);
示例7 ab{3,5}要求在a之后可以有2-5个B(' abbb ',' abbb '或' abbbbb ').
(3)后跟带()的多个字符
例8 a(bc)*匹配A后跟0或a ' bc当然也可以写成‘a(BC){ 0,}’
示例9 a(bc){1,5}匹配1到5' bc。
-
相当于或用于表示一个或多个或
-
例1 AB匹配包含‘A’或‘B’的字符串;
例2 (AB)C匹配包含' AC '或' BC '的字符串;
例3 (AB)*C匹配包含(包括0-1) A或B后跟a C。
-。可以表示所有单个字符。
-。不要包含“\n”个空格。如果有空格,请使用but空格加一个字符[\n.]多个空格加一个字符[\ n \ n \ n \ n .]
例1 a.[0-9]一个A加一个字符加一个从0到9的数字
例2。{3} $以三个任意字符结尾
-
“[ab]”中括号内的内容只匹配一个字符。
-
1 [ab]匹配单个A或B(同' AB ');
2 [a-d]匹配从' A '到' D '的单个字符(与' abcd '和'[abcd]')效果相同;一般我们用【a-zA-Z】来表示一个字符在英语中是大小写。
例3 [A-ZA-Z]匹配以大写和小写字母开头的字符串。
示例4 [0-9]%匹配形状为X%的字符串
示例5,[a-zA-Z0-9]$匹配以逗号加数字或字母结尾的字符串
示例6% [a-za-z]%匹配包含两个百分号且其中有一个(非)字母的字符串。
你也可以在括号里列出你不想要的字符。您只需要在括号中使用' '。
1:[内容]始于[],表示始于内容。
要点二:【】中【内容】的开头是排除内容的意思(不是意思)
重要:匹配包含这些字符的字符串。在方括号[* \?{}.]或'符号将无效。圆括号只匹配一个字符。
重要提示:[]包含“]”。最好把它作为列表中的第一个字符(后面可能跟' ')。
5: []包含'-'。最好放在前面或后面,或者一个范围的第二个端点[a-d-0-9]中间的'-'会有效。
-
\b和\B 1匹配一个单词右边界2匹配一个非单词边界。
-
例1‘ve \ b’:在love中可以配ve,在very中可以不配ve。
例2‘ov \ B’:在love中可以匹配ov,在ovry中不能匹配ov。
-
\d和\D
-
示例1 \d匹配一个数字字符。相当于[0-9]。
示例2 \D匹配一个非数字字符。相当于[0-9]。
-
\w和\W
-
1 \w匹配任何单词字符,包括下划线。相当于“[A-Za-z0-9_]”
2 \W匹配任何非单词字符,包括下划线。相当于“[a-za-z0-9 _]”。
-
匹配非打印字符
-
字符含义
\cx匹配由x表示的控制字符,例如,\cM匹配Control-M或回车。x的值必须是a-z或A-Z之一.否则,c将被视为字面上的“c”字符。
\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。
-
例子
-
匹配前导和尾随空白字符的正则表达式:s *| s * $
匹配电子邮件地址的正则表达式:w ([-。]w )*@w ([-。]w )*。w ([-。]w )*
匹配网址URL的正则表达式:[a-za-z]://[s] *
匹配账户是否合法(以字母开头,允许5-16个字节,允许字母数字下划线):[a-za-z] [a-za-z0-9 _] {4,15} $
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}匹配形式为0511-4405222或021-8788822 920-209 642-964。
匹配腾讯qq号:[1-9][0-9]{4,} 1,后四位数字开头,即10000。
匹配中国的邮政编码:[1-9]d{5}(?d)中国的邮政编码是6位数字。
配套身份证:d{15}|d{18}点评:我国身份证有15位或18位。
匹配ip地址:d .d .d .d注释:提取ip地址时有用。
-
$//开始到结束
//1-N个连续的(串接的)1(即,-{1,})
-?//表示负数和非负数(即,-{0,1})
[0-9]* //表示前面的数字0-N(即[0-9]{0,})。//表示有点或没有点。
[//不是里面的内容
[a-z] //匹配所有小写字母
[A-Z] //匹配所有大写字母
[a-zA-Z] //匹配所有字母
[0-9] //匹配所有数字0-9的整数
[0-9.-] //匹配所有数字、句点和减号
-
[A-ZA-Z0-9 _]$//所有包含多个字母、数字或下划线的字符串//示例连接在一起aA0_A001a_
[0-9]$//所有正数(或非负整数)//例如34550068700809990999
^-?[0-9] $ //所有整数(包括负整数和整数)//示例-43443或43443
^-?[0-9]*.[0-9]*$ //所有小数(包括正负小数小数点前后的无限位数)//例如-10.00或100000.0000
如果没有小数点,后面一定没有数字,所以前面加一。判断有没有小数点,按理说没必要。是多余的。
因为这是判断小数的,如果没有小数点,那还叫交吗?
[A-Z]//除小写字母以外的所有字符
[/]//除“/”和“”之外的所有字符
[' ']//除双引号(')和单引号(')以外的所有字符
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。