如何检查字符串是否在任何位置包含Regex中的一个或多个'/'字符?
感谢。
答案 0 :(得分:2)
用反斜杠来逃避它,例如 /
答案 1 :(得分:2)
你真的需要检查字符串中是否有'/'吗?如果是这样,你可以考虑使用你编写代码的任何语言内置的方法:
bool containsSlash = myString.IndexOf('/') >= 0;
否则,您可以使用以下符号“逃避”角色;
\/
答案 2 :(得分:1)
用\(反斜杠)转义它。
答案 3 :(得分:1)
正则表达式API往往是特定于实现的,因此我们需要知道您使用什么语言/工具来提供100%正确的答案。但快速的只是
.*\/.*
但是对于这类问题,使用字符串搜索API会更有效。正则表达式最适合匹配模式。过滤掉单个字符最好通过IndexOf或类似函数完成。
答案 4 :(得分:1)
你不需要正则表达式,有更便宜的方法来扫描角色。如果您使用c
,建议您使用strrchr
。从联机帮助页:
char * strrchr(const char *s, int c);
strrchr()函数定位 最后一次出现的c(转换为 char)在字符串s中。如果c是
\0', strrchr() locates the terminating
\ 0'。
例如:
bool contains(char c, char* myString) {
return 0 != strrchr(myString, c);
}
contains("alex", 'x'); // returns true
contains("woo\\123", '\\'); // returns true
答案 5 :(得分:0)
在c#中:
String sss = "<your string>";
Regex re1 = new Regex(@".*/.*");
if (re1.IsMatch(sss)) .....
答案 6 :(得分:0)
你可能想要\/+
。但这取决于发动机。
答案 7 :(得分:0)
我会用伪Perl给你,因为你没有要求任何特定的东西。
$has_slash = 0;
# first slash starts regex
# backslash escape the next slash
# because it is escaped, we're looking for this as a literal slash
# end the regex pattern with the final slash
if ($string =~ /\//) {
$has_slash = 1;
}