ホームページ >バックエンド開発 >PHPチュートリアル >レギュラーマッチのお手伝い募集中

レギュラーマッチのお手伝い募集中

WBOY
WBOYオリジナル
2016-06-23 14:10:22985ブラウズ

link/3445/65 の形式を照合するにはどうすればよいですか? 数値はすべてランダムであり、最終的な数値は
link/?([0-9]{1,})/?([0-9]{1, } )/?$ このように書くのはなぜ間違っているのでしょうか? わかりません。専門家に相談してください


ディスカッションに返信(解決策)

<?php$subject = "link/3445/65";$pattern = '#link/?([0-9]*)/?([0-9]*)/?$#';preg_match($pattern, $subject, $matches);print_r($matches);?>

$s = "link/3445/644445";$reg = '/link\/([\d]*)\/([\d]*)$/i';preg_match($reg, $s, $a);print_r($a);

まず、一致の特定のコンテンツを取得する必要がない場合は、どこにもアクセスしないでください。 括弧を追加します。 括弧は、内部のコンテンツを取得するために使用されます。


$reg = '/link/d+/d*$/i';

$s = "link/3445/644445";$reg = '/link\/([\d]*)\/([\d]*)$/i';preg_match($reg, $s, $a);print_r($a);

[d]* は少し冗長だと思います。1 つの要素に or がない場合は、それを表すことができます。直接屋外に設置してください。個人的な理解〜

$s = "link/3445/644445";$reg = '/link\/([\d]*)\/([\d]*)$/i';preg_match($reg, $s, $a);print_r($a);

[d]* は少し冗長だと思います。角括弧は or を表し、要素の 1 つに or がない場合は、直接外側に配置できます。個人的な理解〜
実は、私は通常のルールにあまり詳しくありません。

勉強になりました、ありがとうございます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。