将正斜杠与正则表达式匹配

IT技术 javascript regex
2021-02-01 20:53:24

我没有使用JavaScript太多的经验,但我试图创造出,而不是使用标签系统@或者#,会使用/

var start = /#/ig; // @ Match

var word = /#(\w+)/ig; //@abc Match

我怎么能用 a/而不是#. 我试过做var slash = '/'和添加+ slash +,但失败了。

6个回答

你可以像这样逃避它。

/\//ig; //  Matches /

或者只使用 indexOf

if(str.indexOf("/") > -1)
我看到有些人在 RegEx 的开头和结尾放了“/”,而其他人则没有。我不明白 "/" 的用法,请你澄清一下
2021-03-13 20:53:24
谢谢 Ben,我也试过了,但最后我又加了一个 \。
2021-04-12 20:53:24

您需要/使用\.

/\//ig // matches /

如果你想使用/你需要用\

var word = /\/(\w+)/ig;

在正则表达式中,“/”是一个需要转义的特殊字符(也就是通过在它之前放置一个 \ 来标记它,从而否定它可能提供的任何特殊功能)。

这是您需要的:

var word = /\/(\w+)/ig; //   /abc Match

在此处阅读 RegEx 特殊字符:http : //www.regular-expressions.info/characters.html

“/”不是正则表达式中的特殊字符。然而,它是 JavaScript 中的一个特殊字符,用于分隔正则表达式的开始和结束位置。
2021-04-09 20:53:24

您可以通过在它前面加上\(make it \/)new RegExp('/')转义,或者您可以使用它避免转义 regex

请参阅JSFiddle 中的示例

'/'.match(/\//)            // matches /
'/'.match(new RegExp('/')  // matches /