RegEX:需要阻止所有反斜杠并在末尾留下正斜杠

时间:2014-03-01 01:27:19

标签: regex qregexp

我需要传递像:

这样的字符串
/test/

有些违法的事情会是:

\test\
\test
/test

2 个答案:

答案 0 :(得分:1)

这样的东西应该符合你的字符串。

^/.*/$

因此正则表达式希望字符串以正斜杠开头和结尾,并且可以包含任何内容。

答案 1 :(得分:1)

如果您想在斜杠字符之间只允许使用小写字母字符,请尝试:

^\/[a-z]+\/$

<强>解释

^      require match to start at the very beginning of the string
\      escape the forward slash in the input string
[a-z]  the character class representing the set of lower case characters
+      the preceding character or character class occurs one or more times
$      require match to end at the very end of the string

编辑:当我回答这个问题时,我承认可能没有注意到问题中最初的四个标签中的标签。一些正则表达式解析器(例如Perl提供的解析器)要求使用delimiter character来指定模式的开始和结束。对于此类正则表达式解析器,正斜杠/通常用作分隔符。如果是这种情况,则必须转义出现在正则表达式模式中的/

如果有必要转义出现在/处理的正则表达式模式中的qregexp,则会出现一个问题。也许不是 - 我会留下来由qregexp专家回答。也就是说,对于的正则表达式解析器需要转义/,可以从我上面显示的模式中删除转义字符\

^/[a-z]+/$

最后,如果某个特定的正则表达式可能在多个环境中使用,那么doesn't hurt可以转义在这些环境中可能被视为特殊的字符。