2014-08-29 60 views
0

我嘗試寫一些正則表達式來匹配我們的URL重寫某些URL ...URL重寫正則表達式匹配,不會Hash和空

基本上,我嘗試匹配不包含在#任何URL它並不是空的或只是一個前面的/。

因此,例如:

匹配:/測試網址

匹配:/ ABC123

不匹配:/#/測試網址

不匹配:/

不符合:(無)

這是我試過的正則表達式但它不起作用。

^/(?!#.*)

回答

2

我想這是因爲你缺少的/逃逸\性格和匹配後負看起來腦袋像.*,如:基於^\/(?!#.*).*

Online Demo

您註釋以匹配多個字符,請嘗試此操作:^\/(?!#.*).+使用+代替表達式末尾的*

Online Demo 2

+0

這是真正的接近也不過它也匹配 「/」 單獨 – 99823 2014-08-29 19:23:00

+0

改變過去'*'爲+像'^ \/(?!#。*)。+' – Dalorzo 2014-08-29 19:24:04

+0

做到了!謝謝! – 99823 2014-08-29 19:24:56

1

嘗試下面的正則表達式,匹配以/開始之後的不#一次或多次,任何字符字符串。

^\/[^#\n]+$ 

DEMO

OR

^\/[^#]+(?=\n)$ 

DEMO

+0

這很好 - 非常接近,但它只匹配「/」 - 有沒有辦法避免這種情況,比如match/abc123 - 基本上匹配否/單獨嗎? – 99823 2014-08-29 19:22:40

+0

它匹配'/',它必須跟一個或多個非#字符。 – 2014-08-29 19:24:18

+0

@ 99823查看更新。 – 2014-08-29 19:26:18