正規表現で「#」記号に問題があります。 文字列(URL)があり、#記号が含まれています。正規表現でチェックするにはどうしたらいいですか?#正規表現のシンボル#
これは、誰も私を助けることができる私は '293892-MY-PAGE-'
を得た文字列 "293892-MY-PAGE-#の92.html" と正規表現これを使用して
RewriteRule ^([0-9]*)-([\#a-z0-9-])*.html$ page.php [L]
ですこれとともに?
正規表現で「#」記号に問題があります。 文字列(URL)があり、#記号が含まれています。正規表現でチェックするにはどうしたらいいですか?#正規表現のシンボル#
これは、誰も私を助けることができる私は '293892-MY-PAGE-'
を得た文字列 "293892-MY-PAGE-#の92.html" と正規表現これを使用して
RewriteRule ^([0-9]*)-([\#a-z0-9-])*.html$ page.php [L]
ですこれとともに?
$content = '<a href="http://exaple.com/293892-my-page-#92.html"></a>';
preg_match("|/([0-9+].+?)\.html|si", $content, $matches);
print_r($matches);
結果:
Array
(
[0] => /293892-my-page-#92.html
[1] => 293892-my-page-#92
)
URLで#
シンボルがあるかどうかをチェックします。正規表現として/#/
(.*#.*).html
を使用すれば十分です。もう少し複雑な何かのために - すべてのURLはこの1つのようになります - 293892-my-page-#92.html
、我々は使用することができます。
([\d]+-[a-z]+-[a-z]+-#[\d]+.)html
バックあなたの元の正規表現[\#a-z0-9-]
へ。クラス内の文字をエスケープする必要はありません。\
を使用する必要はありません。たとえば、[+*]
は、星やドットを検索します。 #
が必須の場合は文字クラスを使用できません。
lorem ipsum
------
は全く一致していません:
[#a-z0-9-]+
はクラスから任意の文字は、1つまたは無制限回繰り返しと一致します。どうしてあなたはそれを手に入れましたか? https://regex101.com/r/BK7RK3/1 –ブラウザで現在のURL「293892-my-page-」が見つかりません –
どのコードを使用していますか? –