教你写正则(二)

上次说到什么地方了;应该接着说一下字符 类了。呵呵
有了字符集合的元字符,查找数字字母都很简单了,但是有些没预定义的字符集合就麻
烦了哦。别怕,人类是聪明的:你只需在方括号里将他们列出来就行了如[aeiou]就匹
配任何一个英文元音字母。[.?!]匹配标点符号(. ? !)。下面来看一下:\(?0\d{2}[)-]?\d{8}
它可以匹配几种电话号码:像(010)xxxxxxxx,或者0xx-xxxxxxxx 或者直接就是
0xxxxxxxxxx;分析一下:\(是转义字符大家没忘记吧,它代表出现一次(?)或不出
现。然后跟一个0,后面是两位数字(看过上文的应该明白)然后是)或-或空格。中
的一个,他们出现一次或不出现。最后是8位数字了。明白了吧。

分枝条件:

顾名思义就是分支的意思。废话吧。看下就明白了。符号是|是不是很熟悉。就是或则嘛!如:0\d{2}-\d{8}|0\d{3}-\d{7}这个
表达式能匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号,7位本地号(0376-2233445)
下面是  分组
我们已经提到了怎么重复单个字符(直接在字符后面加上限定符就行了);但如果想要重复多个字符又该怎么办?你可以用小括号来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作(后面会有介绍)。(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。但是ip必须不能大于255 怎么办呢?如果能使用算术比较的话,或许能简单地解决这个问题,但是正则表达式中并不提供关于数学的任何功能,所以只能使用冗长的分组,选择,字符类来描述一个正确的IP地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。
理解这个表达式的关键是理解2[0-4]\d|25[0-5]|[01]?\d\d?,这里我就不细说了,你
自己应该能分析得出来它的意义
反义:就是取反的意思;                                                                             也就是比如你查出数字以外的字符。自己看一下吧!
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
好了实际上说这么多就行了,只要大家不是专门研究这东西的。最后告诉大家一个又快又省事的方法就是直接google。呵呵,不写
了可能没什么必要,都没人讨论一下,而且
还担心管理员给隐藏了....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值