目錄
php中的正则反向引用求解?
是这样的,使用正则将匹配的连续4个数字加上一个括号,数字不变。
老师说的是反向捕获,好像使用的是{1},我试了下不行,然后网上说的是\1,有反应但是不对,然后我自己改了个下面写的\0,就反向捕获到了,但是网上查了下,好像没这样写的,,,,,但是我的确捕获到了4个数字,是怎么回事??? 还有,数组式正则的什么意思?
$a="abcd 1234reo 5678";
//下面我们使用php中的正则表达式来处理上面的内容
$myreg=array(
"/(\d){4}/i"
);
$con=array(
'[ \0]' // 捕获到数字,不改他,直接加上一个中括号,我自己弄出来的写法,?
);
回复讨论(解决方案)
<?php $s='wqe2313jyu6y6546iuoi';$s=preg_replace('/(\d{4})/','{${1}}',$s);print($s);?>运行结果:wqe{2313}jyu6y{6546}iuoi
登入後複製
登入後複製
登入後複製
<?php $s='wqe2313jyu6y6546iuoi';$s=preg_replace('/(\d{4})/','{${1}}',$s);print($s);?>运行结果:wqe{2313}jyu6y{6546}iuoi
登入後複製
登入後複製
登入後複製
对的,,能解释一下吗?
还有,如果是引用其中一部分怎么办?
如“1234”匹配的,引用里面的数字,再加中括号[1234]?
我把正则表达式写在数组里面去了,你这个方法又不行了,在数组里面必须是${0}才行
<?php $s='wqe2313jyu6y6546iuoi';$s=preg_replace('/(\d{4})/','{${1}}',$s);print($s);?>运行结果:wqe{2313}jyu6y{6546}iuoi
登入後複製
登入後複製
登入後複製
我知道了,是你的正则写法和我的写法不一样导致的,但是为什么呢?我写的没有错啊?
我是:/(\d){4}/i
你是:/(\d{4})/
这两个居然不一样?求解???????????
/(\d{4})/
[$1]
反向引用的数字表示正则式从左向右数第几对圆括号内的内容,注意 (?...)不计算在内
当有歧义时才需要使用{}
例如反向引用后面要补一个数字就会产生歧义,要写成${1}1??表示反向引用第一对括号内容,后面加数字1
但$11则是反向引用第 十一对括号的内容(如果没有那么多括号就为空)
/((?:123)456(789))/
$1得到123456789
$2得到789
/(\d{4})/
[$1]
反向引用的数字表示正则式从左向右数第几对圆括号内的内容,注意 (?...)不计算在内
当有歧义时才需要使用{}
例如反向引用后面要补一个数字就会产生歧义,要写成${1}1??表示反向引用第一对括号内容,后面加数字1
但$11则是反向引用第 十一对括号的内容(如果没有那么多括号就为空)
我是:/(\d){4}/i
你是:/(\d{4})/
这两个居然不一样?求解???????????
已经弄清楚了,谢谢
子表达式
捕获
反向引用
感谢各位!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)