簡體   English   中英

如何在Javascript中使用正斜杠結束正則表達式

[英]How to end a regular expression with a forward slash in Javascript

問題

我試圖使用Javascript匹配URL的哈希部分。 哈希將具有格式

/#\/(.*)\//

使用“new RegExp()”創建JS正則表達式的方法很容易實現,但是我無法弄清楚如何使用標准格式來實現它,因為最后的兩個正斜杠開始注釋。 還有另一種寫這個不會發表評論的方法嗎?

// works
myRegexp = new RegExp ('#\/(.*)\/');

// fails
myRegexp = /#\/(.*)\//

我試圖使用Javascript匹配URL的哈希部分。

是的,不要那樣做。 每個瀏覽器都內置了一個非常好的URL解析器。 在位置對象( window.location或鏈接)上設置href ,您可以從屬性hostnamepathnamesearchhash等讀取/寫入URL部分。

var a= document.createElement('a');
a.href= 'http://www.example.com/foo#bar#bar';
alert(a.hash); // #bar#bar

如果你在哈希中放置一個類似路徑的/分隔列表,我建議hash.split('/')

至於正則表達式,兩個版本對我來說都是相同的。 尾隨//不會引起評論。 如果你只是想安撫一些狡猾的語法高亮,你可能會逃避/\\x2F

它沒有開始注釋,就像字符串中的兩個斜杠一樣。 看這里: http//jsfiddle.net/Gr2qb/2/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM