2017-10-20 34 views
1

我有這樣的正則表達式:正則表達式不會在谷歌分析該字符串匹配

^(.*?(\b\/luxury\/property\b)[^$]*)#contact-broker-msg$ 

匹配URL字符串是這樣的:

https://www.my-website.com/luxury/property/something#contact-broker-msg 

但是當我嘗試在應用此正則表達式谷歌分析它輸出懷疑結果,好像它不匹配我的網站的網址。

我測試了這個正則表達式在這裏:

https://regex101.com/r/Jdd4vK/1

而且這表明,例如字符串是正則表達式提供全場比賽。

基本上,我只是需要正則表達式,應該匹配url包含\/luxury\/property\和結尾#contact-broker-msg

那麼,關於whos錯誤的任何想法,我還是Google?

+0

正則表達式是一種痛苦,並且有很多正則表達式「引擎」。所以,當你在任何給定的客戶端使用正則表達式時,你都可以使用任何正則表達式引擎。這意味着各種語法都可以工作,並且在任何給定的引擎中都不起作用,正則表達式教程網站通常很擅長指出這些問題。調試正則表達式是普遍的。從你知道工作的一小部分開始,然後構建,直到你找到冒犯的語法 - 然後谷歌它並找出爲什麼該語法不起作用。 – aaaaaa

+0

你只需要['/luxury/property/.*#contact-broker-msg$'](https://regex101.com/r/Jdd4vK/2) –

回答

1

我只是需要正則表達式,應該匹配url包含/luxury/property並以#contact-broker-msg結尾。

谷歌分析RE2模式不需要全字符串匹配,即返回部分匹配。所以,你不必將整個字符串與你的模式相匹配。

另一點是,您不必使用RE2模式轉義/,因爲不使用正則表達式分隔符。

所有你需要的是

/luxury/property/.*#contact-broker-msg$ 

regex demo

詳細

  • /luxury/property/ - 一個字符串/luxury/property/
  • .* - 比換行字符等
  • #contact-broker-msg任何0+字符 - 一個字符串#contact-broker-msg
  • $ - 字符串的結尾。