когда я использую ноутбук pycharm2019 jupyter для открытия файла .ipynb, окно не может взаимодействовать и застревает

Обратите внимание, что \g{N} эквивалентно \1, то есть backreference , который соответствует тому же значению , а не шаблону, который соответствует соответствующей группе захвата , Этот синтаксис немного более гибкий, поскольку вы можете определить группы захвата, которые относительны к текущей группе, используя - перед номером (т.е. \g{-2}, (\p{L})(\d)\g{-2} будет соответствовать a1a).

Механизм PCRE позволяет выполнять вызовы подпрограммы для рекурсии подшаблонов. Чтобы повторить шаблон группы 1, используйте (?1) и (?&Val) для повторения шаблона именованной группы Val.

Кроме того, вы можете использовать классы символов для соответствия одиночным символам и рассмотреть используя ? квантификатор, чтобы сделать части регулярного выражения необязательными:

(\(\s*(?P[a-zA-Z]+[0-9]*|[0-9]+|\'.*\'|\[.*\])\s*(ni|in|[*\/+-]|[=!><]=|[><])\s*((?&Val))\s*\))

См. демонстрацию regex

Обратите внимание, что \'.*\' и \[.*\] может слишком много совместить, подумайте о замене на \'[^\']*\' и \[[^][]*\].

1
задан C.coder 29 March 2019 в 16:38
поделиться