Я пытаюсь разобрать какую-то вики-разметку. Например, следующее:
{{Infobox
| person
| name = Joe
| title = Ruler
| location = [[United States|USA]] | height = {{convert|12|m|abbr=on}}
| note = <ref>{{cite book|title= Some Book}}</ref>
}}
может быть текстом для начала. Сначала я удаляю начальный {{
и окончательный }}
, чтобы я мог предположить, что они пропали.
Я хочу сделать .split(<regex>)
для строки, чтобы разделить строку на все |
символов, которые не находятся в скобках или скобках. Регулярное выражение должно игнорировать символы |
в [[United States|USA]]
, {{convert|12|m|abbr=on}}
и {{cite book|title= Some Book}}
. Ожидаемый результат:
[
'person'
'name = Joe',
'title = Ruler',
'location = [[United States|USA]]',
'height = {{convert|12|m|abbr=on}}',
'note = <ref>{{cite book|title= Some Book}}</ref>'
]
В любой точке могут быть разрывы строк, поэтому я не могу просто искать \n|
. Если в нем есть лишние пробелы, это нормально. Я могу легко лишить \s*
или \n*
.