Я работаю с регулярным выражением, которое проверяет строку, является ли это функцией или нет. Мое регулярное выражение для проверки того, что следующим образом:Регулярное выражение дополнительной проверки
regex=r' \w+[\ ]*\(.*?\)*'
Он succefully проверяет, содержит ли строка функции или нет. Но он захватывает нормальную строку, содержащую значение fisher barcket, например «test (значение теста)».
Так что я должен проверить также, что если существует пробел между именем функции и скобками, которые не будут пойманы, как match.So я другая проверка следующим образом:
regex2=r'\s'
Он успешно работать и может различать «test()» и «test()». Но теперь я должен поддерживать другое условие, что, если после скобок нет места (например, test() abcd), он не будет воспринимать его как функцию. Регулярное выражение следует рассматривать только как совпадение, когда это будет похоже "test() abcd". Но я пробовал использовать разные регулярные выражения, к сожалению, они не работают. Ее одно упоминание о контрольной строке вставляется в список, когда он находит совпадение, и на втором этапе он проверяет только часть строки. Пример: String: Это тест функции python() abcd Сначала он проверит строку для функции и, когда найдет совпадения с функцией test() , тогда отправьте только «test()», существует ли разрыв между «тестом» и «()». На этом последнем этапе мне нужно найти промежуток между «test()» и «abcd». Если есть пробел, он не будет отображать совпадение как функцию иначе как нормальную часть строки. Как написать регулярное выражение для такого случая?
Регулярное выражение будет показать в следующих случаях:
1.test() abc
2.test(as) abc
3.test()
не будет рассматривать как функцию, если:
1.test (a)abc
2.test()abc
Вы пытаетесь совместить функции python? Если да, пытаетесь ли вы выполнить определение или вызов? – aaronasterling
Нет, я пытаюсь совместить в основном функцию стиля C, а регулярное выражение соответствует всем типам функции. Функция и функция вызова. – mushfiq