Привет, у меня сложная проблема с регулярными выражениями, которую я пробовал и у меня есть частичное решение, но я еще не получил идеальную работу. По сути, я должен проанализировать документ в формате структуры, такой как это:
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 в тексте. (И да, у меня в тексте будут двойные числа)
Спасибо за любую помощь.