Как правильно проверить нумерацию глав и разделов с помощью регулярных выражений? Входным документом может быть форматированная диссертация или книга. Я хотел бы отделить каждую главу / номер раздела и их названия / заголовки с приведенным ниже примером ввода, избегая ложных вводов. Проблема, вероятно, заключается в «точечном» символе на стороне регулярного выражения. Это может быть особый характер. Есть какие-нибудь предложения для решения проблемы?
import re
testContent = ["1. Name Chapter Name", "1.1. Section name abcdefg",
"1.1.1. Subsection tests", "1.2. aaaaaaaaaa", "2. Chapter 2",
"12 ml fake input", "section 3.3 fake input"]
seperated = {}
for line in testContent:
match = re.search(r'^[1-9.]+', line)
if match:
rest = re.sub(match.group(), '', line)
seperated.update({match.group() : rest})
print(seperated)
Результат:
{'1.': ' Name Chapter Name', '1.1.': ' Section name abcdefg', '1.1.1.': ' Subsection tests', '1.2.': ' aaaaaaaaaa', '2.': ' Chapter 2', '12': ' ml fake input'}