在JavaScript中使用正则表达式查找连续的“//”

时间:2011-11-29 01:35:38

标签: javascript regex

我试了一次大学,但我很难过。我试图在字符串中找到连续的斜杠。正则表达式的其余部分效果很好,但最后一部分我无法得到。

这就是我所拥有的:

val.match( /^[\/]|[~"#%&*:<>?\\{|}]|[\/|.]$/ ) 

并找到这个帖子,我决定更新我的代码无济于事: RegEx to find two or more consecutive chars

val.match( /^[\/]|[\/]{2,}|[~"#%&*:<>?\\{|}]|[\/|.]$/ ) 

我需要做些什么?

所以,我需要这个正则表达式来寻找许多字符。这可以解释我提供的第一个代码示例:

val.match( /^[\/]|[~"#%&*:<>?\\{|}]|[\/|.]$/ ) 

我需要做什么,是在字符串中查看双重打击。是的,我很清楚indexOf和其他字符串操作技术,但我将它标记为正则表达式,因为它需要。如果您需要更多信息,请告诉我......

5 个答案:

答案 0 :(得分:2)

[\/]+应与一个或多个/匹配。

答案 1 :(得分:1)

呃,你为什么不做呢

/\/{2,}/g

?你在OP中的正则表达似乎更复杂......

  • \/匹配文字反斜杠字符
  • {2,}告诉他们将其匹配两次或更多次
  • /g使模式成为全局模式,以便您可以在字符串中找到模式的所有出现。

答案 2 :(得分:1)

/(.)$1+/

会找到单个字符出现2次或更多次的任何地方。 (.)匹配单个字符,并将该字符捕获到$ 1,然后您需要在初始字符之后立即执行1次或更多次。

对于斜杠,您可以将其简化为

/\/{2,}/
/\/\/+/

然后你会进入倾斜的牙签领域。

答案 3 :(得分:0)

为什么不使用indexof?那会更简单。

答案 4 :(得分:0)

这是答案。

val.match( /^[\/|_]|[~"#%&*:<>?\\{|}]|[\/]{2,}|[\/|.]$/ )

不确定为什么其他版本不起作用,但也许有人可以对此问题有所了解。

试验:

  1. _text - 导致下划线失败
  2. / text - Falied领导重击
  3. text~moreText - 失败包含无效字符:〜“#%&amp; *:&lt;&gt;?\ {|}
  4. text // text - 双击失败
  5. text / - 尾随失败
  6. 文本。 - 尾随期间失败
  7. 不确定为什么下面的代码不起作用,但是移动了双重测试并且它现在有效:

    val.match( /^[\/|_]|[\/]{2,}|[~"#%&*:<>?\\{|}]|[\/|.]$/ )