проверка правильности ввода с помощью регулярных выражений в Python - PullRequest
0 голосов
/ 23 сентября 2019

Как проверить правильность и недействительность ввода в python?Мой действительный ввод выглядит так: a "имя" (100,20) (7,8) (10,12)

Как я могу проверить это с помощью функций регулярных выражений?

1 Ответ

0 голосов
/ 23 сентября 2019

С некоторым выражением, похожим на

^[a-z]\s"\w+"\s(?:\(\d+\s*,\d+\s*\)\s*){3}$

или с меньшими границами, например,

^[a-z]\s"\w+"\s+(?:\(\s*\d+\s*,\s*\d+\s*\)\s*){3}$

, вы можете сделать это.

Демо

Тест

import re

string = """
a "name" (100,20) (7,8) (10,12)
b "some_other_name_1" ( 100, 20) (7, 8) (10, 12)
Z b "some_other_name_1" ( 100, 20) (7, 8) (10, 12)

"""

expression = r'^[a-z]\s"\w+"\s+(?:\(\s*\d+\s*,\s*\d+\s*\)\s*){3}$'

print(re.findall(expression, string, re.M))

Вывод

['a "name" (100,20) (7,8) (10,12)', 'b "some_other_name_1" ( 100, 20) (7, 8) (10, 12)']

Если вы хотите упростить / изменить / исследовать выражение, оно объяснено наверхняя правая панель regex101.com .Если хотите, вы также можете посмотреть в этой ссылке , как она будет сопоставляться с некоторыми примерами ввода.


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