匹配一个正则expression式的正斜杠
我没有太多的JavaScript经验,但我试图创build一个标签系统,而不是使用@
或#
,将使用/
。
var start = /#/ig; // @ Match var word = /#(\w+)/ig; //@abc Match
我怎么能使用/
而不是#
。 我试着做var slash = '/'
并添加+ slash +
,但失败了。
你可以这样逃避
/\//ig; // Matches /
或者只是使用indexOf
if(str.indexOf("/") > -1)
您需要使用\
来转义/
。
/\//ig // matches /
在正则expression式中,“/”是需要转义的特殊字符(通过在\之前放置\来标记,从而否定它可能提供的任何专门function)。
这是你需要的:
var word = /\/(\w+)/ig; // /abc Match
请阅读RegEx特殊字符: http : //www.regular-expressions.info/characters.html
如果你想使用/
你需要用一个\
var word = /\/(\w+)/ig;
我遇到了两个与上述相关的问题,提取由\
和/
分隔的文本,并find一个适合两者的解决scheme,而不是使用new RegExp
,它需要在开始时使用\\\\
。 这些调查结果在Chrome和IE11中。
正则expression式
/\\(.*)\//g
不起作用。 尽pipe存在转义性,我认为//
被解释为评论的开始。 正则expression式(在我的情况下同样有效,虽然不是一般的)
/\b/\\(.*)\/\b/g
也不起作用。 我认为第二个/
终止正则expression式,尽pipe转义字符。
对我来说什么是代表/
作为\x2F
,它是/
的hex表示。 我认为这比使用new RegExp
更有效率和可以理解,但当然需要注释来识别hex代码。