Есть ли какие-либо встроенные прототипы python для достижения следующего? Кто-нибудь может предложить, как это можно сделать ...
Я пытаюсь получить все данные в [ ]
и разделить на основе \s+
для строк, которые начинаются с |
между блоком |-
и |-
или }
{| border="1" cellspacing="1" cellpadding="1"
|-
Ignore block
|-
| [http://data/code SEC.12.0]
| [file://data\\loc \\DATA\LOC]<br>
|
[file://\\ftp\\location \\ftp\\location]&nbsp;<br> <br> &
|-
| [http://data/code2 SEC.13.0]
| [file://data\\loc2 \\DATA\LOC2]<br>]
|
[file://\\ftp\\location2 \\ftp\\location2]&nbsp;<br> <br> &
|
}
ОЖИДАЕМЫЙ ВЫХОД: -
SEC.12.0
\\DATA\LOC
\\ftp\\location
SEC.13.0
\\DATA\LOC2
\\ftp\\location2
1 ответ
Например:
import re
data = []
for block in re.findall(r'(?s)\|-(.+?)(?=\|-|})', text):
r = [x.split()[-1] for x in re.findall(r'\[(.+?)\]', block)]
if r:
data.append(r)
print data
Результат:
[['SEC.12.0', '\\DATA\\LOC', '\\ftp\\location'], ['SEC.13.0', '\\DATA\\LOC2', '\\ftp\\location2']]
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.
"
. Вы здесь неправильно просматриваете страницу.