regular expression php,regular expression (php函数),regularexpression_PHP教程

regular expression (php函数),regularexpression

1. 正则表达式是一种字符串搜索和匹配的工具

2. php中常用正则表达式函数

preg_match($pattern, $subject)

preg_match_all($pattern, $subject, array &$matches)

preg_replace($pattern, $replacement, $subject)

preg_filter($pattern, $replacement, $subject)

preg_grep($pattern, array $input)

preg_split($pattern, $subject)

preg_quote($str)

3. 函数说明

$pattern = 正则表达式

$subject = 匹配的目标函数

(1) preg_match() 和 preg_match_all() : return 匹配到结果的次数

preg_match($pattern, $subject, [array &$matches]) : 只匹配一次, 结果为0或者1, 第三个参数可不写, 第三个参数表示地址的引用

preg_match($pattern, $subject, array &$matches) : 匹配全部, 结果为0,1,2......

eg:

$pattern='/[0-9]/';

$subject = 'weuyr3ui76as83s0ck9';

$m1 = $m2 = array();

t1 = grep_match($pattern, $subject, $m1);

t2 = grep_match_all($pattern, $subject, $m2);

结果: m1 = array([0]=>3)

m2 = array([0]=>array([0]=>3,[1]=>7,[2]=>6,[3]=>8,[4]=>3,[5]=>0,[6]=>9))

t1 = 1

t2 = 7

(2) preg_replace 与 preg_filter : 支持数组替换

preg_replace($pattern, $replacement, $subject) : 保留发生替换和没发生替换的值

preg_filter($pattern, $replacement, $subject) : 保留发生替换的值

eg one:

$pattern='/[0-9]/';

$subject = 'weuyr3ui76as83s0ck9';

$replacement = '盈';

$str1 = preg_replace($pattern, $replacement, $subject);

$str2 = preg_filter($pattern, $replacement, $subject);

结果:

$str1 = 'weuyr盈ui盈盈as盈盈s盈ck盈'

$str2 = 'weuyr盈ui盈盈as盈盈s盈ck盈'

eg two:

$pattern = array('/[0123]/', '/[456]/', '/[789]/')

$replacement = array('啊', '啦', '嗦')

结果:

$str1 = 'weuyr啊ui嗦啦as嗦啊s啊ck嗦'

$str2 = 'weuyr啊ui嗦啦as嗦啊s啊ck嗦'

eg three:

$subject = array('weuy', 'r3ui', '76as83', 's', '0ck9');

结果:

$str1 = array([0]=>weuy, [1]=>r啊ui, [2]=>嗦啦as嗦啊, [3]=>s, [4]=>啊ck嗦)

$str2 = array([1]=>r啊ui, [2]=>嗦啦as嗦啊, [4]=>啊ck嗦)

(3) grep_grep($pattern, array $input) : 阉割版的grep_filter(), 只做匹配, 不做替换

eg:

$pattern='/[0-9]/';

$subject = array('weuy', 'r3ui', '76as83', 's', '0ck9');

$arr = preg_grep($pattern, $subject);

结果:

$arr = array([1]=>r3ui, [2]=>76as83, [4]=>0ck9)

(4) grep_split($pattern, $subject) : explode是该函数的子集

eg:

$pattern = '/[0-9]/';

$subject = '你2好3啊!'

$arr = preg_split($pattern, $subject);

结果:

$arr = ([0]=>你, [1]=>好, [2]=>啊!)

http://www.bkjia.com/PHPjc/1109850.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1109850.htmlTechArticleregular expression (php函数),regularexpression 1. 正则表达式是一种字符串搜索和匹配的工具 2. php中常用正则表达式函数 preg_match($pattern, $subject)...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值