Нужно регулярное выражение для обнаружения номеров пуль в строке - PullRequest
0 голосов
/ 29 апреля 2020

Мне нужно регулярное выражение для определения номеров пуль (заголовок и подзаголовок) в строке.

Пример 1.

1. Hello
2. World

Пример 2

1 Hello
2 World

Пример 3

* Hello
* World

Пример 4

1 Hello1
    1.1 Word1
2 Hello2
    2.1 World2   

1 Ответ

1 голос
/ 29 апреля 2020

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

(?:^|(?<=\s))\d\.?(?:\d+)?(?=\s)|\*(?=\s)

Демонстрация здесь

Объяснение:

(
  ?:^        # If start of line
  |          # or
  (?<=\s)    # Preceded by a space
)
\d+          # Match digit(s)
\.?          # Match dot if present
(?:\d+)?     # Match digits following dot without capturing into separate group
(?=\s)       # If followed by a space
|            # or
\*(?=\s)     # Match * if followed by space
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...