[英]How to generate a string containing forward slash with regular expression in 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
,您可以從屬性hostname
, pathname
, search
, hash
等讀取/寫入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.