Как найти шаблон Unicode, используя Regex в Python3.7? - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь найти шаблон Unicode, но он всегда возвращает пустой список []. Я попробовал тот же шаблон в Kwrite, и он работал нормально.

Я пробовал \ u \ вместо \ w, но у меня не получилось. Здесь строка Unicode может быть любой строкой Unicode.

InputString=r"[[ਅਤੇ\CC_CCD]]_CCP"

Result = re.findall(r'[\[]+[\w]+\\\w+[\]]+[_]\w+',InputString,flags=re.U)

print(Result)

1 Ответ

0 голосов
/ 12 января 2019

Кажется, есть дополнительный символ между и \, который не может быть сопоставлен с \w+. Это шестнадцатеричное значение 0xA47 Итак, я добавил [\u0A47] в регулярное выражение.

Попробуйте это регулярное выражение:

\[+\w+[\u0A47]\\\w+]]\w+

Нажмите для демонстрации

Пояснение:

  • \[+ - соответствует 1+ появлений [
  • \w+ - соответствует 1+ появлению символа word
  • [^\\]* - соответствует 0+ вхождений любого символа, который не является \
  • \\ - совпадения \
  • \w+ - соответствует 1+ вхождению символа слова
  • ]] - совпадения ]]
  • \w+ - соответствует 1+ вхождению символа слова

Код Python

Слова из Гурмухи языка. Диапазон Юникода составляет 0A00 - 0A7F. Таким образом, вы также можете использовать регулярное выражение:

\[+[\u0A00-\u0A7F]+\\\w+]]\w+

Нажмите для демонстрации

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