Я пытаюсь сопоставить все строки исходного кода Python, в которых есть открытые скобки, но это не определение функции.По сути, сопоставьте все вызовы функций, но не определения функций.
Я анализирую исходный код Python, но у меня есть только движок PCRE, а не новый Javascript с просмотром без фиксированной ширины.Я пытаюсь не соответствовать, если предложению предшествует слово def
в любом месте (.*
) перед совпадением.
Это регулярное выражение делает это наполовину:
(?:^)(?:[^d][^e][^f])+\(
Оно не должно совпадать со строками с: (не соответствует открытой скобке, перед которой стоит def)
anything def anything(thing)
anyyything def anythinggg(thing)
Исопоставлять только строки как: (сопоставлять открытые скобки, которым предшествует что-либо, кроме def)
anything anything(thing)
anyyything anythinggg(thing)
Но возникает проблема, так как я (?:[^d][^e][^f])+
, выражение работает только тогда, когда открывающая скобка (
ему предшествует предложение, кратное длине 3:
![enter image description here](https://i.stack.imgur.com/JTpX2.gif)
- https://regex101.com/r/ec0FgD/1- Живой пример