PHP
—
基础教学 如何在 PHP 中使用正则表达式进行查找替换
本文为大家分析 PHP 中使用正则表达式进行查找替换的方法,需要的朋友参考下
1. preg_match — 执行一个正则表达式匹配
int preg_match ( string
$pattern
, string
$subject
[,
array
&
$matches
[, int
$flags
= 0 [, int
$offset
= 0 ]]] )
搜索 subject 与 pattern 给定的正则表达式的一个匹配.
pattern:
要搜索的模式,字符串类型。
subject :
输入字符串。
matches:
如果提供了参数 matches
,它将被填充为搜索结果。
$matches
[0]将包含完整模式匹配到的
文本,
$matches
[1]将包含第一个捕获子组匹配到的文本,以此类推。
flags:
flags 可以被设置为以下标记值:PREG_OFFSET_CAPTURE 如果传递了这个标记,对于
每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)
。注意:这会改变填
充到 matches
参数的数组,使其每个元素成为一个由 第 0 个元素是匹配到的字符串,第 1
个元素是该匹配字符串 在目标字符串 subject 中的偏移量。
offset:
通常,搜索从目标字符串的开始位置开始。可选参数 offset
用于 指定从目标字符串的某个
未知开始搜索(单位是字节)。
返回值:
preg_match()
返回 pattern
的匹配次数。 它的值将是 0 次(不匹配)或 1 次,因为
preg_match()
在第一次匹配后 将会停止搜索。 preg_match_all()不同于此,它会一直搜索
subject
直到到达结尾。 如果发生错误 preg_match()
返回 FALSE。
示例:
复制代码 代码如下:
<?php
/*
*模式分隔符后的"i"标记这是一个大小写不敏感的搜索
*将会输出:1
*/
echo
preg_match("/,\s*(php)/i", "In my point, PHP is the web scripting language of choice.");
echo
"<br/>"."\n";
/*