Я пытаюсь сформулировать регулярное выражение, которое анализирует имя класса из React.js следующим образом.
Скажем, это имя класса
export interface IStackBarProps
extends React.AllHTMLAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLDivElement | BaseButton | Button> {
Это мое регулярное выражениедо сих пор
regex = new RegExp(`^export (interface|(?:const )?enum) ${propsInterfaceOrEnumName}(?: extends .*?)? \\{( |.*[\\r\\n]*)*?\\}`, 'm');
Это работает, за исключением того, что extends
, находящийся на новой строке в исходной строке, приводит к сбою.
Как добавить необязательно Новая строка непосредственно перед расширением слова, поскольку некоторые классы могут иметь слово расширяется в отдельной строке, а некоторые нет?
Я пробовал несколько комбинаций [\\n]*
, но не смог получитьчтобы соответствовать.