Как проверить, содержит ли строка в любой позиции один или несколько символов '/' в Regex?Как проверить, содержит ли строка определенный символ в Regex?
Спасибо.
Как проверить, содержит ли строка в любой позиции один или несколько символов '/' в Regex?Как проверить, содержит ли строка определенный символ в Regex?
Спасибо.
Вам действительно нужно проверить, есть ли в нем строка '/'? Если да, то вы могли бы рассмотреть вопрос об использовании того, что, вероятно, встроенный метод на любом языке вы пишете код в:
bool containsSlash = myString.IndexOf('/') >= 0;
В противном случае, вы можете «убежать» характер, используя следующие обозначения;
\/
избегать его обратным слэшем, например. /
См. Мое редактирование. –
Убегая его с помощью \ (обратной косой черты).
API-интерфейсы Regex имеют тенденцию быть специфичными для реализации, поэтому нам нужно знать, какой язык/инструмент вы используете, чтобы дать 100% правильный ответ. Но быстрый - это просто
.*\/.*
Однако для этого типа вопроса гораздо эффективнее использовать API поиска строк. Regex лучше всего подходят для сопоставления шаблонов. Фильтрация для одного символа лучше всего делать через IndexOf или аналогичную функцию.
В C#:
String sss = "<your string>";
Regex re1 = new Regex(@".*/.*");
if (re1.IsMatch(sss)) .....
Вы, вероятно, хотите \/+
. Однако это зависит от двигателя.
+ для этой конкретной проблемы не требуется. –
Я передам его вам в псевдо-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;
}
Вам не нужно регулярное выражение для этого, есть гораздо более дешевые способы сканирования персонажа. Если вы используете c
, я предлагаю вам использовать strrchr
. Из: страница руководства
char * strrchr(const char *s, int c);
strrchr() функция находит последнее вхождение с (в пересчете на полукокса) в строке 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
Вы действительно должны указать, какой язык программирования вы говорите. Ответ зависит. –