您的位置:首页 > 其它

正则表达式

2015-07-13 11:36 411 查看
<?php
/*
正则表达式

正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配,替换,截取匹配的字串。对也用户来说

可能以前没有接触过DOS,如果想匹配当前文件夹下所有的文本文件可以输入“dir *.txt”命令

按Enter键后所有的文本文件就将会被列出来。这里的“*.txt”就可以理解为一个简单的正则表达式

正则表达式的语法规则

行定位符(^&$)

行定位符就是用力啊描述字符串的边界。“^”表示开始
“$“表示结尾

单词定界符(\b,\B)

\b 表示查找的自创为一个完整的单词

例如:
\bghost\b

\B 表示它匹配的字串不能是个完整的单词,

而是其它单词或字串的一部分:

例如:
\Bhos\B

字符类([])

正则表达式是区分大小写的,如果要忽略大小写可使用

方括号表达式”[]“。只要匹配字符出现在方括号内,即可表示

匹配成功。但是一个方括号只能匹配一个字符

例如:
要匹配tm不区分大小写,那么应写成:

[Tt][Mm]

选择字符(|)

还有一种方法可以实现上面的匹配模式,就是使用选择字符(|)

上面的例子可以写成[T|t][M|m]

连接符(-)

连字符可以表示字符的范围,如所有26位大小写字母可以表示成

[a-zA-Z]

排除字符([^])

如排除上例所有字母

[^a-zA-Z]

该匹配的就是不以字母和下划线开头的变量名。

限定符(?*+{n,m})

当Google搜索只有一页时,不显示google标志,只有大于

等于2是才显示google。说明字母o最少为两个,最多为20个

那么正则表达式为:

go{2,20}gle

点好字符(.)

如果遇到这样的题:写出一个5-10个以s开头,t结尾的单词,这是有

很大难度的。如果题目并不告知第一个字母,而是中间任意一个

难度会更大。

在正则表达式中可以通过点字符来实现这样的匹配、(.)点字符可以

匹配出换行符以外的任意一个字符。注意:是除了换行以外的任意字符

。如匹配一S开头,t结尾,中间包含一个字母的单词格式如下:

^s.t$

再举一个例子,匹配一个单词,它的第一个字母为r,第3个字母为s

最后一个字母为t 能匹配该单词的正则表达式为:
^r.s.*t$

转义字符(\)

正则表达式中的转义字符(\)和php中的大同小异,都是将特殊字符(如“.”、“?”、“\”等)
变为普通的字符。

反斜线(\)

除了可以做转义字符以外,反斜线还有其他一些功能

括号字符(())

反向引用
反向引用,就是依靠子表达式的“记忆”功能来陪陪连续出现的
字符串货字母。如匹配连雪的两个it,首先将单词it作为分组,然后
在后面加上“\1”即可。格式为:
(it)\1
这是最简单的引用格式。如果要匹配的字串不固定,那么就将括号内的
字串写成一个正则表达式。如果使用了多个分组,那么可以用“\1”、“\2”来表示每个分组
(顺序是从左到右)如:
([a-z])([A-Z])\1\2
*/
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: