Регулярное выражение для соответствия заголовкам уценки, но не комментариям кода - PullRequest
0 голосов
/ 28 июня 2019

Я хотел бы обработать файл уценки с помощью машинописи, и прежде чем что-либо делать, я хотел бы проверить, есть ли в нем заголовки. Вот пример содержимого уценки:

# heading 1

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nulla blandit consequat dui, sit amet maximus massa dictum ut.
Quisque tempus lorem a quam hendrerit hendrerit nec vitae turpis.

## heading 1.1

Pellentesque porta blandit ipsum, et vulputate nisl aliquet nec.
Donec gravida lectus ut mauris molestie, eu semper libero sollicitudin.

```
# some script comment
set var=abc
# another comment
echo var
```

Phasellus ut libero leo.
Nam viverra justo sed arcu accumsan sodales.

# heading 2

Praesent pharetra cursus mi, ac vestibulum eros suscipit in.
Aliquam laoreet at ligula sit amet posuere.
Curabitur pellentesque vehicula sodales.
Nulla turpis urna, sagittis vitae quam ac, vehicula pellentesque velit.

Чтобы найти заголовки, я использую это регулярное выражение: new RegExp('^\s*#', 'm')

Это будет соответствовать первому вхождению строки, которая начинается с хеш-метки (возможно, с начального пробела), но также будет совпадать, если фактическая хеш-метка находится во фрагменте кода (в данном случае это комментарий в скрипте). Поэтому следующий текст не должен совпадать:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nulla blandit consequat dui, sit amet maximus massa dictum ut.
Quisque tempus lorem a quam hendrerit hendrerit nec vitae turpis.

Pellentesque porta blandit ipsum, et vulputate nisl aliquet nec.
Donec gravida lectus ut mauris molestie, eu semper libero sollicitudin.

```
# some script comment
set var=abc
# another comment
echo var
```

Phasellus ut libero leo.
Nam viverra justo sed arcu accumsan sodales.

Praesent pharetra cursus mi, ac vestibulum eros suscipit in.
Aliquam laoreet at ligula sit amet posuere.
Curabitur pellentesque vehicula sodales.
Nulla turpis urna, sagittis vitae quam ac, vehicula pellentesque velit.

Есть ли способ исключить его с помощью регулярного выражения? Или я должен попробовать это с другим подходом?

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