Каков синтаксис для оценки совпадений строк в регулярных выражениях? - PullRequest
1 голос
/ 04 января 2011

Как определить, соответствует ли строка регулярному выражению?

Я хочу найти True, если строка соответствует регулярному выражению.

Регулярное выражение:

r".*apps\.facebook\.com.*"

Я пытался:

if string == r".*apps\.facebook\.com.*":

Но, похоже, это не сработает.

Ответы [ 4 ]

3 голосов
/ 04 января 2011

Из документов Python: в модуле re, регулярное выражение

import re  
if re.search(r'.*apps\.facebook\.com.*', stringName):
    print('Yay, it matches!')

Поскольку re.search возвращает объект MatchObject, если он его находит, или None, если он не найден.

2 голосов
/ 04 января 2011

Вы должны импортировать модуль re и проверить его таким образом:

import re

if re.match(r'.*apps\.facebook\.com.*', string):
    # it matches!

Вы можете использовать re.search вместо re.match, если хотите найти шаблон в любом месте строки. re.match будет соответствовать, только если шаблон может находиться в начале строки.

1 голос
/ 04 января 2011
import re

match = re.search(r'.*apps\.facebook\.com.*', string)
0 голосов
/ 04 января 2011

Вы ищете re.match():

import re

if (re.match(r'.*apps\.facebook\.com.*', string)):
    do_something()

Или, если вы хотите сопоставить шаблон в любом месте строки, используйте re.search().

Почему бы неВы также прочитали документацию по Python для re модуля ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...