Найти - Пользователи
Полная версия: Помогите написать регулярку для re
Начало » Python для новичков » Помогите написать регулярку для re
1
IvanPetrov
Здраствуйте, помогите написать регулярку для модуля re. В прикрепленном изображении ожидаемый результат

Дано:
 '''
+--+--+--+--+--+
|  |           |
+  +  +--+--+--+
|  |  |  |  |  |
+--+--+--+--+--+
'''

Желаемое:
  '''
+-+-+-+-+-+
| |       |
+ + +-+-+-+
| | | | | |
+-+-+-+-+-+
'''
IvanPetrov
Сделал сам в итоге:
 from re import findall
def to_matrix(line: str) -> list:
    row_rgx = r"[\+\|].+(?<!\n|')"
    split_rgx = r"\+|\||--|\s{3}|\s{2}"
    wall = ['+', '--', '|']
    out = []
    for r in findall(row_rgx, line):
        a = []
        for c in findall(split_rgx, r):
            if c in wall:
                a.append(1)
            else:
                a.extend([0] * (len(c) - 1))
        out.append(a)
    return out
if __name__ == '__main__':
    arr = '''\
            +--+--+--+
            |  |     |
            +  +  +--+
            |  |  |  |
            +--+--+--+'''
    print(*to_matrix(arr), sep='\n')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB