Метод извлечения C # Regex и имена параметров - PullRequest
0 голосов
/ 27 февраля 2019

Мне нужна помощь с регулярным выражением, где я передаю такую ​​строку:

"MethodName(int? Property1, string Property2, List<int?> Property3)"

и получаю имена методов и свойств в виде массива строк.Примерно так:

["MethodName","Property1","Property2","Property3"]

Я пробовал это: Regex для получения имени параметра метода

и это Regex для извлечения имени функции, &это параметры

Но не удалось получить необходимые результаты

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Вы можете достичь этого, используя гораздо более простое регулярное выражение.Используйте это регулярное выражение, которое гарантирует, что оно соответствует только именам методов или именам переменных, используя заглядывание в будущее, чтобы увидеть, что далее является необязательным пробелом и ( или , или )

\b\w+(?=\s*[,()])

Демо

0 голосов
/ 27 февраля 2019

Вы можете сделать что-то вроде этого:

^(\w+)\((((.*)(\s)(.*)),((.*)(\s)(.*)),((.*)(\s)(.*)))\)

Имейте в виду, что у вас есть несколько групп.

https://regex101.com/r/2LDf6X/1

Вам решать, как найти методчтобы упростить это регулярное выражение, чтобы перехватывать параметры переменных, а не только три.

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

\b\w+(?=\s*[,()])

Здесь демонстрация: https://regex101.com/r/WrG2kF/1

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