0

私は正規表現で運がないようです!URL から (理論的には) カテゴリとオプションのページ番号を取得する Wordpress プラグインを作成しましたが、URL パターンと一致させることができません。

URL の形式は次のとおりです。

Bikes/Hybrid-Bikes

Bikes/Hybrid-Bikes/1

Bikes/Hybrid-Bikes/2

と:

Bikes/Mountain-Bikes

Bikes/Mountain-Bikes/1

Bikes/Mountain-Bikes/2

等々。

使用しようとしている正規表現は次のとおりです。

   Bikes/([^/]+)(?:/(\d+))?

これはカテゴリに一致しますが、ページ番号には一致しません。私はそこに 99% いると確信していますが、これを理解することはできません!

前もって感謝します

フィル

4

3 に答える 3

0
^\w+\/\w+-?\w+\/?\d?$

robular でテスト済み

于 2012-09-16T09:08:45.547 に答える
0

ページ番号を一致させるには、次の正規表現を試してください。

Bikes/([^/]+)?/?(\d+)?

http://regexpal.comで RegExps を検証できます。私のテスト データは次のとおりです。

バイク/

バイク/ハイブリッドバイク

バイク/ハイブリッドバイク/1

バイク/ハイブリッドバイク/2

于 2012-09-16T07:34:57.690 に答える
0

あなたは本当にとても近かった。

^$開始マーカーと終了マーカー ( )を追加して式を完成させます。

^Bikes/([^/]+)(?:/(\d+))?$

PHP の作業例:

$string = "Bikes/Hybrid-Bikes/1";

var_dump(
    preg_match(
        "~^Bikes/([^/]+)(?:/(\d+))?$~i",
        $string
    )
);
于 2012-09-16T07:38:30.793 に答える