Я пытаюсь сопоставить любой список в произвольном текстовом документе.Списки маркеров определяются как любые цифры или строчные буквы, перед которыми стоит разделитель слов.Так, например,
1. item a
2. item b
Я использую следующий код для поиска маркеров:
Pattern p1 = Pattern.compile("\\s[\\d][\\.\\)]\\s");
Это работает хорошо, пока список маркеров состоит из однозначных элементов.Однако, как только я попробую несколько списков маркеров с цифрами, это не будет работать (пример 12. item c 13. item d
), я попытался изменить шаблон на
Pattern p1 = Pattern.compile("\\s[\\d]+[\\.\\)]\\s");
или
Pattern p1 = Pattern.compile("\\s[\\d]\\+[\\.\\)]\\s");
MyИнтерпретация языка регулярных выражений заключается в том, что это будет соответствовать любому случаю, когда перед «.» стоит 1 или более цифр.Но это не работает.
Кто-нибудь может увидеть, что я делаю не так?