Я не очень понимаю близкие голоса, но вы допустили ошибку, задав более одного вопроса!
Трудно знать, что отключение вас, но это может помочь
Узор /[Cc]at/
в целом является регулярного выражения, регулярного выражения или регулярного выражением, в то время как конкретный компонент [Cc]
называется класс символов, который соответствует любому набору символов; в этом случае верхний или нижний регистр C. Он документирован в документации Python для Regular Expression Syntax, который называет это просто «набором символов» и говорит о таких вещах, как \d
(числовые цифры) и \w
(«слова») в качестве классов символов.В Perl конструкция квадратного кронштейна также является классом символов
Документация для re.search
на той же странице довольно проста, и, похоже, вы использовали свой эквивалент Perl в своем коде, поэтому я не понимаю проблемы, с которой вы столкнулись «повторно имея
в Python
object = re.search(pattern, string)
проверки для возникновения шаблона где-нибудь в строке и устанавливает object
к match object, если он найден, или None
иначе
Это то же самое в Perl, как с помощью связывания оператора=~
как этот
my $result = $string =~ /pattern/
который устанавливает $result
к истинному значением , если совпадение найдено, или ложно иначе
Взгляните на документацию на Python для search() vs. match()
re.match
идентичен re.search
, за исключением того, что матч должен происходить в самом начале строки
Regex/регулярное выражение – Marged
В '/ Foo /', 'Foo' является регулярным выражением. Таким образом, находясь внутри '//', ваш '[Cc]' является синтаксисом regex. –
Просто стандартное регулярное выражение, ничего конкретного perl. Это даже не PCRE или расширенный, это правильное регулярное выражение в любом вкусе. [] скобки соответствуют любому символу, который они заключили. –