PHP正则表达式学习总结--1
2015-02-10 15:32
471 查看
PCRE库函数中,正则匹配模式使用分隔符与元字符组成
分隔符:
1、当使用 PCRE 函数的时候,模式需要由分隔符闭合包裹。分隔符可以使任意非字母数字、非反斜线、非空白字符。经常使用的分隔符是正斜线(/)、hash符号(#)
以及取反符号(~)。
下面的例子都是使用合法分隔符的模式。
/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%
2、如果分隔符需要在模式内进行匹配,它必须使用反斜线进行转义。如果分隔符经常在 模式内出现, 一个更好的选择就是是用其他分隔符来提高可读性。
/http:\/\//
#http://#
3、需要将一个字符串放入模式中使用时,可以用 preg_quote() 函数对其进行 转义,它的第二个参数(可选)可以用于指定需要被转义的分隔符。
除了上面提到的分隔符,也可以使用括号样式的分隔符,左括号和右括号分别作为开始和结束 分隔符。
{this is a pattern}
4、可以在结束分隔符后面增加模式修饰符。 下面的例子是一个大小写不敏感的匹配:
#[a-z]#i
Example:
You can use (`)
<?php
$str = 'php';
if (preg_match('`^php$`i',$str)) {
// Outputs
}
?>
元字符:
正则表达式的威力源于它可以在模式中拥有选择和重复的能力。
一些字符被赋予 特殊的涵义,使其不再单纯的代表自己,模式中的这种有特殊涵义的编码字符 称为 元字符。
共有两种不同的元字符:一种是可以在模式中方括号外任何地方使用的,另外一种
是需要在方括号内使用的。
在方括号外使用的元字符如下:
\
一般用于转义字符
^
断言目标的开始位置(或在多行模式下是行首)
$
断言目标的结束位置(或在多行模式下是行尾)
.
匹配除换行符外的任何字符(默认)
[
开始字符类定义
]
结束字符类定义
|
开始一个可选分支
(
子组的开始标记
)
子组的结束标记
?
作为量词,表示
0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性。 (查阅量词)
*
量词,0
次或多次匹配
+
量词,1
次或多次匹配
{
自定义量词开始标记
}
自定义量词结束标记
模式中方括号内的部分称为“字符类”。
在一个字符类中仅有以下可用元字符:
\
转义字符
^
仅在作为第一个字符(方括号内)时,表明字符类取反
-
标记字符范围
分隔符:
1、当使用 PCRE 函数的时候,模式需要由分隔符闭合包裹。分隔符可以使任意非字母数字、非反斜线、非空白字符。经常使用的分隔符是正斜线(/)、hash符号(#)
以及取反符号(~)。
下面的例子都是使用合法分隔符的模式。
/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%
2、如果分隔符需要在模式内进行匹配,它必须使用反斜线进行转义。如果分隔符经常在 模式内出现, 一个更好的选择就是是用其他分隔符来提高可读性。
/http:\/\//
#http://#
3、需要将一个字符串放入模式中使用时,可以用 preg_quote() 函数对其进行 转义,它的第二个参数(可选)可以用于指定需要被转义的分隔符。
除了上面提到的分隔符,也可以使用括号样式的分隔符,左括号和右括号分别作为开始和结束 分隔符。
{this is a pattern}
4、可以在结束分隔符后面增加模式修饰符。 下面的例子是一个大小写不敏感的匹配:
#[a-z]#i
Example:
You can use (`)
<?php
$str = 'php';
if (preg_match('`^php$`i',$str)) {
// Outputs
}
?>
元字符:
正则表达式的威力源于它可以在模式中拥有选择和重复的能力。
一些字符被赋予 特殊的涵义,使其不再单纯的代表自己,模式中的这种有特殊涵义的编码字符 称为 元字符。
共有两种不同的元字符:一种是可以在模式中方括号外任何地方使用的,另外一种
是需要在方括号内使用的。
在方括号外使用的元字符如下:
\
一般用于转义字符
^
断言目标的开始位置(或在多行模式下是行首)
$
断言目标的结束位置(或在多行模式下是行尾)
.
匹配除换行符外的任何字符(默认)
[
开始字符类定义
]
结束字符类定义
|
开始一个可选分支
(
子组的开始标记
)
子组的结束标记
?
作为量词,表示
0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性。 (查阅量词)
*
量词,0
次或多次匹配
+
量词,1
次或多次匹配
{
自定义量词开始标记
}
自定义量词结束标记
模式中方括号内的部分称为“字符类”。
在一个字符类中仅有以下可用元字符:
\
转义字符
^
仅在作为第一个字符(方括号内)时,表明字符类取反
-
标记字符范围
相关文章推荐
- 【PHP进阶篇 未完】5.正则表达式--慕课网【学习总结】
- Php常用文件操作函数,正则表达式,个人学习总结
- PHP正则表达式学习总结——重复/量词
- 实例学习PHP中的正则表达式
- java正则表达式学习总结,以及和javascript正则表达式的区别
- PHP 正则表达式学习
- Java 正则表达式学习总结和一些小例子
- 正则表达式 学习总结
- PHP正则表达式学习笔记(二)
- PHP学习笔记:PERL兼容正则表达式
- PHP学习:字符串操作和正则表达式
- PHP学习正则表达式 课件第1/2页
- ASP.NET验证控件学习总结与正则表达式学习入门
- PHP正则表达式学习笔记(一)
- 正则表达式经典学习总结
- PHP 正则表达式 个人笔记总结
- PHP中Perl兼容类型的正则表达式相关函数总结
- php正则表达式学习笔记
- PHP学习之正则表达式
- Excel VBA 学习总结 - 数据验证与正则表达式