Строка соответствия шаблону регулярного выражения, если она содержит только определенные разрешенные символы

#python #regex

#питон #регулярное выражение

Вопрос:

Я новичок в regrex и пытаюсь разобраться в этом.

Как я могу написать строку regrex, которая соответствует строке тогда и только тогда, когда строка содержит только определенные разрешенные символы, скажем, заглавные буквы ‘A’, ‘B’, ‘C’, ‘D’ и ‘E’, т.е. Она должна соответствовать ‘A’, ‘ABC’, ‘CEA’, ‘ABCEACBBCAED?, Но не ‘AGV’, ‘AcD’, ‘a’ и т. Д. (?)

 re.search(some_regex_string, some_string)
 

Комментарии:

1. Вы можете использовать [A-E]

2. @PushpeshKumarRajwanshi [A-E] все равно будет сопоставлять частичные строки, содержащие кластеры символов в диапазоне [A-E] . Вам нужно будет указать границы слов, по крайней мере, b[A-E] b

3. @Filip: вам нужно использовать привязки начала / конца с этим регулярным выражением. Это регулярное выражение, которое я дал, было идеей о том, как разрешить A E символы. Вам нужно написать регулярное выражение как ^[A-E] $ , которое будет соответствовать только строке, содержащей только и только A E символы.

Ответ №1:

Вам нужно использовать это регулярное выражение для сопоставления с образцом данных в вашем сообщении.

 ^[A-E] $
 

Демонстрация регулярных выражений

Если у вас есть строка большего размера, в которой вы хотите сопоставлять только токены, которые имеют только A Z символы, то в этом случае вы можете использовать границы слов вокруг регулярного выражения следующим образом,

 b[A-E] b
 

Которая будет соответствовать только строкам, содержащим A E символы to в строке.

Демонстрация для сопоставления предполагаемых строк в строке большего размера