哪位大神能幫我讀一下這段正規表示式php中的我

2022-02-15 11:49:49 字數 2382 閱讀 1247

1樓:匿名使用者

前面都是照著匹配

主要是後面這一塊

(?(css|js|flash))/(?[a-za-z0-9/]+)其中(css|js|flash)表示匹配css或js或flash[a-za-z0-9/]表示匹配中的任意乙個字元,也就是26個英文本母(不分大小寫)和0到9以及正斜線中的任意乙個,後面的+表示部分至少重複一次。

整體來說就是匹配任意字母數字和正斜線的組合。

(?)和(?)不會匹配任何內容,在這裡只是起到乙個對其中匹配部分命名的作用,最後匹配結果中的內容可以通過這個命名來讀取

2樓:匿名使用者

我不會php,但也可以為您解答。

前面你應該懂了,就是原字匹配,

我猜括號的地方才是你看不懂的。

在正規表示式裡,括號匹配到的內容可以存入分組內,

比如有一段正則

用來匹配文字

匹配完後,

第乙個括號的表示式『(\d+)』匹配到的內容『1014359461』會存入分組1裡,

第二個括號的表示式『([a-za-z]+)』匹配到的內容『wizard』會存入分組2裡,

如果再有括號,就繼續存入分組3、分組4...

不過這樣會有上限,也不是很清晰

所以,可以使用另一種方法,看如下正則

還是匹配剛才那段文字,匹配成功後,

不再有剛才的分組1和分組2,取而代之的是 名為『qq』和『nick』這兩個分組,後面我簡稱它們為 $qq、$nick

存入 $qq 的內容依然是之前 分組1 裡的 『1014359461』

存入 $nick 的內容依然是之前 分組2 裡的 『wizard』

再談談括號內的『|』符號,如下正則

(css|js|flash)

它含義是,此處位置能匹配的只有

『css』或者『js』,或者『flash』,否則匹配不成功

匹配成功後會存入 乙個分組內

如你發的圖里的

(?(css|js|flash))

這部分含義如前一條所說那樣,只不過會把匹配到的值存入 $controller 分組內

接下來,講『[...]』

[123abc]

這個正則表示只匹配『123abc』裡的其中乙個字元,

如果有用『-』且不在第一位則有特殊含義(第一位是普通符號),如下

[1-3a-c]

這個正則就和上一條正則功能是一樣的,表示允許匹配中括號裡的乙個字元,範圍是從 1到3,或者 a到c

你的**裡

[a-za-z0-9/]

表示匹配乙個字元,該字元的範圍是 a-z(小寫字母),或者a-z(大寫字母),或者0-9(一位數字),或者後面那個『/』字元

而後面加個+符號

[a-za-z0-9/]+

則是此處正則必須匹配乙個 字母或數字 或者多個,並盡量匹配多個

那麼你**裡的

(?[a-za-z0-9/]+)

就是將前前一條正則匹配到的內容存入 $name 分組中去

我不懂php,但知道這裡的 『/(』 是轉義字元,這個是php語法裡的東西,你要注意這一點

還有前面提到那麼多次「分組「這個詞,那這些分組怎麼獲取呢,這個是php語言裡的東西,你可以去查一下

另,據我所值『(?...)』這樣的語法也可以這麼寫『(?'name'...)』,不知道這個能在php裡通過不。

至此,你的疑惑應該解開了吧,很用心寫的,請採納哈,謝謝~

php 正規表示式 url匹配

3樓:匿名使用者

不需要正則,以下**就能實現:

4樓:匿名使用者

\ /主。 *程式info3 = \ d

php正規表示式如何獲取url裡面的後面id數字

5樓:智慧型大觀天

private function getquerystr($url,$key)}}

if(!empty($barr[$key]))return $res;

}getquerystr($url,'id');

php 正規表示式 /

6樓:死宅程式設計師

//測試:

哪位醫生幫我看一下,哪位醫生能幫我看一下

首先我們看看B肝二對半的所有專案 B型肝炎病毒有三對抗原抗體系統,即表面抗原抗體 hbsag 抗hbs e抗原抗體 hbeag 抗 hbe 核心抗原抗體 hbcag 抗hbe 所以題主目前的情況就是核心抗體陽性。其所在的意義就是 既往曾接觸過B肝病毒攜帶者或者是B肝肝炎患者,但是並未進行感染,並且形...

有哪位英語高手能幫我翻譯一下這段英文1,非常感謝

文化的概念顯現出複雜和多面性的特點,人們早就從數個學術領域 過它,專如人類學 pieterse,1995 社會學 屬哲學 lloyd thomas,1998 以及管理學 richards,goedhart,herrijgers,2001 同時另有一些研究分析了旅遊者和文化之間的關係,他們作為共生的組...

哪位大神能幫我翻譯一下這上面的俄語,幫我看一下報道日期就可以

從8月21日起,截止到2016年9月5日 你好,很高興為你解答,9月5日 希望能幫到你,如果還有不明白的地方,歡迎追問,望採納。2016.09.05 請會俄語的大神幫我翻譯一下!是我編的乙個組織?你好,很高興為你解答,希望能幫到你,如果還有不明白的地方,歡迎追問,望採納。有沒有懂俄語的大神幫我翻譯一...