查找连续的“//&引用;在JavaScript中使用正则表达式
我在大学里试过,但我被难倒了。我试图在字符串中找到连续的斜杠。regex的其余部分工作得很好,但最后一部分我不能完全理解 以下是我所拥有的:查找连续的“//&引用;在JavaScript中使用正则表达式,javascript,regex,Javascript,Regex,我在大学里试过,但我被难倒了。我试图在字符串中找到连续的斜杠。regex的其余部分工作得很好,但最后一部分我不能完全理解 以下是我所拥有的: val.match( /^[\/]|[~"#%&*:<>?\\{|}]|[\/|.]$/ ) val.match(/^[\/]\[~“\\%&*:?\{\}]\[\/.]$/) 找到这个线程后,我决定更新我的代码,但没有用: val.match(/^[\/]\[\/]{2,}.[~“\\\%&*:?\{\\}]\[\/.]$/)
val.match( /^[\/]|[~"#%&*:<>?\\{|}]|[\/|.]$/ )
val.match(/^[\/]\[~“\\%&*:?\{\}]\[\/.]$/)
找到这个线程后,我决定更新我的代码,但没有用:
val.match(/^[\/]\[\/]{2,}.[~“\\\%&*:?\{\\}]\[\/.]$/)
我需要什么来让这件事继续下去
所以,我需要这个正则表达式来查找许多字符。这将解释我提供的第一个代码示例:
val.match( /^[\/]|[~"#%&*:<>?\\{|}]|[\/|.]$/ )
val.match(/^[\/]\[~“\\%&*:?\{\}]\[\/.]$/)
我还需要它做的是在字符串中寻找双重打击。是的,我很了解indexOf和其他字符串操作技术,但我标记它为regex,因为它需要。如果需要更多信息,请告诉我…
[\/]+
应该与一个或多个/
匹配。为什么不使用?那样会更简单。嗯,你为什么不这样做呢
/\/{2,}/g
?OP中的正则表达式似乎更复杂
匹配文本反斜杠字符\/
告诉您匹配它两次或更多次{2,}
使模式成为全局模式,以便您可以在字符串中找到模式的所有出现/g
(.)
匹配单个字符,并将该字符捕获到$1中,然后您要求该字符紧跟在初始字符之后1次或更多次
对于斜杠,您可以将其简化为
/\/{2,}/
/\/\/+/
但你会倾向于牙签领域。答案如下
val.match( /^[\/|_]|[~"#%&*:<>?\\{|}]|[\/]{2,}|[\/|.]$/ )
val.match(/^[\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
不知道为什么另一个版本不起作用,但也许有人可以解释一下这件事
测试:
val.match( /^[\/|_]|[\/]{2,}|[~"#%&*:<>?\\{|}]|[\/|.]$/ )
val.match(/^[\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
你到底想在这里做什么?我不太明白你的问题是什么。但是,如果您想匹配两个连续的“/”,您可以简单地.match(/^\/{2}/)代码>,不确定[~“\\%&*:?\\{124;}]
part any…你能解释一下吗?我还是不明白你想做什么。你的问题标题是关于连续的斜杠,你的实际正则表达式包含一堆其他东西,你链接到一个关于两个连续的字母字符的问题。你能举个例子说明你的输入数据和所需的输出,这样我们就没有了根据你的正则表达式进行猜测(假设你说正则表达式无论如何都不起作用)?答案如下:val.match(/^[\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\。或者接受对您帮助最大的现有答案。为了查看这是否有效,我将代码更改为:val.match(/[\/]+/),并在第一个“/”处匹配。还有其他的想法吗?当我看到它起作用时,我非常激动:val.match(/\/{2,}/),但是添加它会使它在第一次敲击时匹配。我确信这是我正在做的事情,所以如果你能澄清。。。val.match(/^[\/]\/{2,}\/{124;[~”%&*:?\{124}].[\/}.]$/)我很确定[\/\/\\\\\\/\\\\\\\\\\\\\\\\\\//code>匹配的字符比您想象的多。您的正则表达式匹配的字符串只包含/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\。如果键入了其中一个字符,则某些控件将被锁定<代码>^[\/|]
似乎按照我的预期工作。这段代码只能在字符串的开头找到/
或
。你得到了不同的结果吗?
val.match( /^[\/|_]|[~"#%&*:<>?\\{|}]|[\/]{2,}|[\/|.]$/ )
val.match( /^[\/|_]|[\/]{2,}|[~"#%&*:<>?\\{|}]|[\/|.]$/ )