Задать вопрос
@GreatX

Python регулярные выражения?

Привет всем. Сразу к делу. Необходимо написать регулярное выражение, которое определяет параметры функции из ++

Например есть строка "(float arg; char arg1)" или "()" или "( )" или "(int a)" — так должно проходить, а если "(float)" или там "(float a int a2" не должно.

валидные:
  • (float arg; char arg1)
  • ()
  • ( )
  • (int a)
  • (int a = 0)

В общем то как в с++ верно параметры у функций

не валидные:
  • (float arg char arg1)
  • (
  • (int a
  • (int a = 0;)


Вот что у меня получилось
(\()(((int)|(float)|(char)|(string))(\s+)[a-zA-Z\_][a-zA-Z0-9\_]*(\s*))(\))


Помогите пожалуйста.
  • Вопрос задан
  • 116 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
@GreatX Автор вопроса
Работают параметры функций, но без значений по умолчанию, констант, ссылок и указателей

^(\()((\s*)|((\s*)((int)|(float)|(char)|(string))(\s+)([a-zA-Z\_][a-zA-Z0-9\_]*)((\s*)|(((\;+)(\s*)((int)|(float)|(char)|(string))(\s+)([a-zA-Z\_][a-zA-Z0-9\_]*))*)))?)(\s*)(\))$
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы