第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

URL 子部分序列中不能只有數(shù)字

URL 子部分序列中不能只有數(shù)字

PHP
躍然一笑 2021-10-15 17:45:57
我想更改正則表達(dá)式,以便在類組在兩個斜杠之間沒有只有數(shù)字時(shí)匹配:$regex = "~^upload/(?<class>[/a-z0-9_\.]+)/(?<id_table>\d+)$~";preg_match($regex, "upload/.bes/.ur/13"); // returns truepreg_match($regex, "upload/.tables/fewf/.u23ser/15"); // returns truepreg_match($regex, "upload/.t/les2/.uer/11"); // returns truepreg_match($regex, "upload/1.tales/.user2/01"); // returns truepreg_match($regex, "upload/23/21"); // returns falsepreg_match($regex, "upload/.tables/00/31"); // returns falsepreg_match($regex, "upload/6/.uer/q/51"); // returns false
查看完整描述

3 回答

?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個贊

您可以從帶有所有格量詞的 digit 類開始重寫您的命名捕獲:

(?<class>\d*+[a-z0-9_.]+(?>/\d*+[a-z0-9_.]+)*)

由于量詞是所有格,您確定匹配的第一個字符[a-z0-9_.]+不是數(shù)字。


查看完整回答
反對 回復(fù) 2021-10-15
?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個贊

您可以使用

$regex = "~^upload/(?<class>(?!\d+/)[a-z0-9_.]+(?:/(?!\d+/)[a-z0-9_.]+)*)/(?<id_table>\d+)$~";

請參閱此正則表達(dá)式演示。

class組命名模式匹配

  • (?!\d+/)[a-z0-9_.]+ - 一個或多個小寫 ASCII 字母、數(shù)字_.,但如果所有這些字符都是數(shù)字,則不是

  • (?:/(?!\d+/)[a-z0-9_.]+)* - 零次或多次重復(fù)

    • /- 一個/字符

    • (?!\d+/)[a-z0-9_.]+- 一個或多個小寫 ASCII 字母、數(shù)字_.,但如果所有這些字符都是數(shù)字,則不是


查看完整回答
反對 回復(fù) 2021-10-15
?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個贊

也許,我們可以用這個表達(dá)式來簡化它:


(\/[0-9]+\/)|([0-9]+$)

如果左捕獲組返回 TRUE,則為 false,否則為 TRUE。


測試

$re = '/(\/[0-9]+\/)|([0-9]+$)/m';

$str = 'upload/.bes/.ur/13

upload/.tables/.u23ser/15

upload/.tles2/.uer/11

upload/1.tales/.user2/01


upload/23/21

upload/.tables/00/31

upload/6/.uer/51';


preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);


foreach ($matches as $match) {

    if (sizeof($match) == 2) {

        echo "false \n";

    } elseif (sizeof($match) == 3) {

        echo "true \n";

    } else {

        "Something is not right!  \n";

    }

}

輸出

true 

true 

true 

true 

false 

true 

false 

true 

false 

true 

一旦過濾掉不需要的字符串,我們可以簡單地捕獲這些類:


^(upload\/.*?)[0-9]+$


查看完整回答
反對 回復(fù) 2021-10-15
  • 3 回答
  • 0 關(guān)注
  • 196 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號