регулярний вираз, щоб відповідати МІНУСу з пробілами - python, regex, regex-group

Я повинен визначити регулярний вираз таким чином, щоб:

r"[ - &]"

так ось тут spaceMINUSspace слід розглядати як одне.

наприклад:

він повинен відповідати ряду, як: foo - bar і foo&bar. Це не повинно відповідати такому foo-bar.

Прохання запропонувати, як це зробити.

Відповіді:

1 для відповіді № 1

Ви можете спробувати використовувати re.match, з наступною схемою:

.*w+(?:( - )|&)w.*

Це говорить про те, що він відповідає двом словам, розділеним кожним із них - або &. Ось фрагмент коду:

line = "foo - bar"
match = re.match( r".*w+(?:( - )|&)w.*", line, re.M|re.I)

if match:
print "Found this match: ", match.group()

Або, як зазначив @Sean, ми могли б скористатись re.search:

line = "foo - bar"
pattern = re.compile(r"w+(?:( - )|&)w")

if pattern.search(line):
print "Found this match: ", line

Схожі запитання
Найбільш популярний