1

我需要传递如下字符串:

/test/

一些非法的事情是:

\test\
\test
/test
4

2 回答 2

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 提供的解析器)要求使用分隔符来指定模式的开始和结束。对于此类正则表达式解析器,正斜杠/通常用作分隔符。如果是这种情况,则有必要转义/出现在正则表达式模式中的 a。

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

^/[a-z]+/$

最后,如果一个特定的正则表达式可能在多个环境中使用,那么在其中一个环境中转义一个可能被认为是特殊的字符并没有什么坏处。

于 2014-03-01T02:42:32.073 回答
1

像这样的东西应该匹配你的字符串。

^/.*/$

因此,该正则表达式期望字符串以正斜杠开头和结尾,并且可以在两者之间包含任何内容。

于 2014-03-01T01:30:15.343 回答