正则表达式

1、很多单词里包含hi这两个连续的字符,比如him,history,high等等。用hi来查找的话,这里边的hi也会被找出来。如果要精确地查找hi这个单词的话,我们应该使用\bhi\b。
2、\b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。
现在\bhi\b.*\bLucy\b的意思就很明显了:先是一个单词hi,
然后是任意个任意字符(但不能是换行),最后是Lucy这个单词。
0\d\d-\d\d\d\d\d\d\d\d匹配这样的字符串:以0开头,然后是两个数字,
然后是一个连字号“-”,最后是8个数字(也就是中国的电话号码。
        当然,这个例子只能匹配区号为3位的情形)。


3、这里的\d是个新的元字符,匹配一位数字(0,或1,或2,或……)。
-不是元字符,只匹配它本身——连字符(或者减号,或者中横线,或者随你怎么称呼它)。

4、为了避免那么多烦人的重复,我们也可以这样写这个表达式:0\d{2}-\d{8}。
这里\d后面的{2}({8})的意思是前面\d必须连续重复匹配2次(8次)。

5、转义字符:如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\.  例如:deerchao\.net匹配deerchao.net,C:\\Windows匹配C:\Windows。
\d+匹配1个或更多连续的数字。
这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。

6、元字符^(和数字6在同一个键位上的符号)和$都匹配一个位置,这和\b有点类似。
^匹配你要用来查找的字符串的开头,$匹配结尾。
这两个代码在验证输入的内容时非常有用,
比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。
7、我们也可以轻松地指定一个字符范围,
像[0-9]代表的含意与\d就是完全一致的:一位数字;同理[a-z0-9A-Z_]也完全等同于\w(如果只考虑英文的话)。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值