我需要传递像:
这样的字符串/test/
有些违法的事情会是:
\test\
\test
/test
答案 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
编辑:当我回答这个问题时,我承认可能没有注意到问题中最初的四个标签中的qregexp标签。一些正则表达式解析器(例如Perl提供的解析器)要求使用delimiter character来指定模式的开始和结束。对于此类正则表达式解析器,正斜杠/
通常用作分隔符。如果是这种情况,则必须转义出现在正则表达式模式中的/
。
如果有必要转义出现在/
处理的正则表达式模式中的qregexp
,则会出现一个问题。也许不是 - 我会留下来由qregexp
专家回答。也就是说,对于不的正则表达式解析器需要转义/
,可以从我上面显示的模式中删除转义字符\
:
^/[a-z]+/$
最后,如果某个特定的正则表达式可能在多个环境中使用,那么doesn't hurt可以转义在这些环境中可能被视为特殊的字符。