2017-06-13 48 views
-1

我在創建正確的正則表達式時遇到了問題。 這是我到目前爲止有: https://regex101.com/r/d0epRo/2可選問號 - 正則表達式

我需要添加到這個鏈接一個參數,我要確定的wheather有問號或沒有。因此?應該是可選的,但我無法讓它工作。

那些不工作(\?|)(\?)?(\??)

這些應標http://www.polskieszlaki.plhttp://www.polskieszlaki.pl/wawel.htm但不

我沒有forther想法。請幫助。

+0

爲什麼不使用[DOM文檔(http://php.net/manual/en/class.domdocument.php)(與DOMXPath也許)? –

+0

我想這很慢 – piernik

+0

至少你會明白你在做什麼。你的正則表達式是一團糟,並沒有做你認爲的那樣。請將真實的要求添加到問題中。 –

回答

0

我想你想要的是這個正則表達式:

a[\s]+href="[^mailto][\S]+polskieszlaki\.pl(?:(.*))?(?:(\?)(.*))?\" 

這(?:...)表示 「不捕獲」

-1

如果你只是想檢索查詢參數嘗試:

a[\s]+href="[^mailto][\S]+polskieszlaki\.pl(.*)(?:\?(?<param>.*))\" 

然後,您可以提取param

或者在沒有指定+忽略捕捉組更簡單的形式:

a[\s]+href="[^mailto][\S]+polskieszlaki\.pl(.*)(\?(.*))\"