Привет У меня сложная проблема с регулярным выражением, которую я пробовал и имеет частичное решение, но пока не получил работу. По существу, я должен разобрать документ, который находится в формате структуры, такие, как это:Справка по функции Regex
1. HEY BUDDY
1.A. Your the best
1.A.1 And i know
1.A.2. this because
1.A.3 it is
1.A.4. the
1.A.5. truth i
1.A.6. tell ya.
1.B. so anyway
1.B.1. one two
1.B.2 three four!
2. i have
2.A. many numbers
2.A.1. hahaha
2.A.1.A. 3.2 ppl
2.A.1.B. are in
2.A.1.C my head.
2.A.1.D. yes exactly
2.A.2. 3.21
2.A.3. if you dont
2.A.4 trust me
2.B then
2.B.1. youre
2.B.2.soo wrong
2.C. its not
3. even funny.
3.A. but it
3.B. kind of
3.C. is a little
4. bit i
4.A. believe.
4.A.1. talk to me
4.A.2. more about
4.B. these ppl
4.B.2. in your head.
Это мой тестовый документ ... Мне нужно найти каждую из новых «пуль» в этом документе, а затем сохранить текст между ними и делать больше вычислений. Все, что я не понял, - это то, как наглядно идентифицировать разные номера контуров с помощью регулярного выражения. (Я знаю, что это, вероятно, можно было бы сделать другими способами, а затем регулярным выражением, но я участвую в процессе обучения регулярному выражению, и я решил, что так делаю это). Теперь я пришел к следующему:
(\b)(([1-9][0-9]?)(\.))([A-Z])?((\.)([1-9][0-9]?)((\.)([A-Z]))?)*(\.)?(\b)
Проблема заключается в том, что он не распознает 1., 2., 3. или 4., и он поднимает «3.». из 3.2 и 3.21 в тексте. (И да, у меня будет дубль в тексте, подобном этому). Формат для контура всегда # .AZ. #. AZ. #. AZ ... и цифры никогда не должны быть выше 99.
Спасибо за любые Помогите.