php正则表达式

2013-08-23 22:08:50 -0400
如下面的 “QQ号码为数字且
至少5位” ,其对应的正则表达式为:
^\d{5,}$
该正则表达式就描述需要确定的内容为至少 5
位以上的数字。我们来具体看看该表达式是怎
么描述这一规则的:
1. ^:表示匹配字符串的开始,也即该字符
串是独立的开始而不是包含在某个字符串之内
2. \d:表示匹配数字
3. {5,}:表示至少匹配5位及以上
4. $:表示匹配字符串的结束,也即该字符
串是独立的结束

在上面的例子中,^ 、\d 及 $ 等这些符号,
代表了特定的匹配意义,我们称之为元字符,
常用的元字符如下:
元字符 说明
. 匹配除换行符意外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
[x] 匹配x字符,如匹配字符串中的 a、b 和 c 字

\W \w的反义,即匹配任意非字母,数字,下划线
和汉字的字符
\S \s的反义,即匹配任意非空白符的字符
\D \d的反义,即匹配任意非数字的字符
\B \b的反义,即不是单词开头或结束的位置
[^x] 匹配除了 x 意外的任意字符,如 [^abc] 匹
配除了 abc 这几个字母之外的任意字符
提示
1. 当我们要匹配这些元字符的时候,我们需
要用到字符转义功能,同样正则表达式里面用
\ 来表示转义,如要匹配 . 符号,则需要用
\. ,否则 . 会被解释成“除换行符外的任意
字符”。当然,要匹配 \ ,则需要写成 \\
2. 连续的数字或字母可以用 – 符号连接起
来,如 匹配所有的小写字母,[1-5] 匹配 1
至 5 这 5 个数字
«Newer      Older»

----Comments(1)----
作曲 (@zuoquu) | @ at 2013-08-23 22:13:
重复
正则表达式的威力在于其能够在模式中包含选
择和循环,正则表达式用一些重复规则来表达
循环匹配。
常用的重复如下:
重复 说明
* 重复零次或更多次
+ 重复 1 次或更多次
? 重复零次或 1 次
{n} 重复 n 次
{n,} 重复 n 次或更多次
{n,m} 重复 n 到 m 次
分枝
分枝是指制定几个规则,如果满足任意一种规
则,则都当作匹配成功。具体来说就是用 |
符号把各种规则分开,且条件从左至右匹配
下面是一个使用分枝的例子。
美国的邮政编码的规则是 5 个数字或者 5 个
数字连上 4 个数字,如 12345 或者
54321-1234 ,如果要匹配所有的邮编,则
正确的正则表达式为:
\d{5}-\d{4}|\d{5}
//错误写法
\d{5}|\d{5}-\d{4}
分组
在正则表达式中,可以用小括号将一些规则括
起来当作分组,分组可以作为一个元字符来看
待。
分组的例子,验证 IP 地址:
(\d{1,3}\.){3}\d{1,3}
Comment:
Name:

Back to home

Subscribe | Register | Login | N