Patrice T
Цитата:
Я добавил * в регулярное выражение, но оно не работает.
Согласно определению регулярного выражения,
* это специальный символ в регулярном выражении, чтобы соответствовать ему, нужно избежать его как
\*
Я получил его из оригинального регулярного выражения, пространство должно быть необязательным:
^\s*(?:(?:inline|static)\s+){0,2}(?!else|typedef|return)\w+\s+\*?\s*(\w+)\s*\([^0]+\s*?
^^^
\s*
Всего лишь несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[
^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[
^]
Регулярное Средство Выражения Эспрессо [
^]
RegExr: Learn, Build, & Test RegEx[
^]
Онлайн-тестер регулярных выражений и отладчик: PHP, PCRE, Python, Golang и JavaScript[
^]
Этот пример показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[
^]
Этот сайт также показывает регулярное выражение в красивом графике, но не может проверить, что соответствует регулярному выражению:
Regexper[
^]
Pruthvi@123
@Patrice T-в каком месте мне нужно добавить это, так как я пытался добавить его вот так(после static \s), как показано ниже:
Скрыть скопировать код
FINDFUNC_RE = re.search('^\s*(?:(?:inline|static)\s*+\*){0,2}(?!else|typedef|return)\w+\s+\*?\s*(\w+)\s*\([^0]+\s*?', Line)
Хотя это не работает.А также он должен соответствовать обоим:
статический int abc(int a)
статический int* abc(int a)
Пожалуйста, Ответьте.Спасибо.
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.
У меня сейчас нет времени на регулярное выражение, начните с удаления*, которое вы добавили ранее.