我在正則表達式中遇到了'#'符號的問題。 我有一個字符串(URL),它包含#符號。我如何用正則表達式檢查它是否在這裏或不在這裏?正則表達式中的#符號php
這是字符串 「293892-MY-PAGE-#92.html」 和正則表達式
RewriteRule ^([0-9]*)-([\#a-z0-9-])*.html$ page.php [L]
使用此我得到了 '293892-MY-PAGE-'
誰能幫助我有了這個?
我在正則表達式中遇到了'#'符號的問題。 我有一個字符串(URL),它包含#符號。我如何用正則表達式檢查它是否在這裏或不在這裏?正則表達式中的#符號php
這是字符串 「293892-MY-PAGE-#92.html」 和正則表達式
RewriteRule ^([0-9]*)-([\#a-z0-9-])*.html$ page.php [L]
使用此我得到了 '293892-MY-PAGE-'
誰能幫助我有了這個?
$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應該是與此類似 - 293892-my-page-#92.html
,我們可以使用:
([\d]+-[a-z]+-[a-z]+-#[\d]+.)html
現在回到你原來的正則表達式[\#a-z0-9-]
。你並不需要逃避課堂中的任何角色 - 沒有必要使用\
。例如[+*]
將搜索星號或點。如果#
是強制性的,我們不能使用字符類。 [#a-z0-9-]+
將匹配從類任何字符重複一次或不限次數:
lorem ipsum
------
不匹配的。你是怎麼得到它的? https://regex101.com/r/BK7RK3/1 –
瀏覽器寫我目前的URL'293892-my-page-'找不到 –
你使用什麼代碼? –