Я смотрю любой текстовый файл для анализа конкретной информации.Информация - это имя комнаты, координаты_х и координаты_у.Имя комнаты может быть любым именем строки (abc
, 6a7b8c
, _test1n6_
и т. Д.) И исключает «#», потому что тогда оно будет частью моего управления ошибками.Чтобы объяснить текстовый файл более, я хочу всегда игнорировать первую строку, а после первой строки это комната, которая создается в координатах x и y (например, 2 5 0
имеет комнату под названием 2
с координатами(5, 0)).Я не получаю все необходимые строки из файла, который мне нужен.Например, я получаю только те, которые начинаются с любого символа без, но также получаю строки, которые мне пока не нужны.Я только начал изучать Regex день назад, поэтому потерпите меня, пожалуйста:).
Я использую веб-сайт regexr для визуализации и просмотра результатов поиска.Это работает фантастически, но чем больше я думаю о проверке ошибок, тем сложнее становится мое регулярное выражение.
Это мое текущее регулярное выражение:
\S+(\w+[0-9]) | \s+\w*[A-Z]
и файл txt таков:
3
2 5 0
##start
0 1 2
##end
1 9 2
3 5 4
######################
###lol123
###1234124
#111shouldnotread#~!~
6ajhk 888 888
D_c7 10 10
Enz4 11 11
Maf9 15 15
Eex5 18 18
U_e6 21 21
Nip5 25 25
Gw_5 28 28
Vio7 31 31
His7 34 34
Exh6 37 37
Iq_8 42 42
Qky2 45 45
Tac1 49 49
X__5 51 51
Xlb4 55 55
0-2
0-3
2-1
3-1
2-3
Вывод:
888
888
D_c7
Enz4
Maf9
Eex5
U_e6
Nip5
Gw_5
Vio7
His7
Exh6
Iq_8
Qky2
Tac1
X__5
Xlb4
Пока я получаю все, что хочу, но пока не совсем.Видите ли, у меня есть некоторые из моих комнат, но не одна с "6ajhk"
, которая является названием моей комнаты и имеет координаты (888, 888)
.Остальное уже обрабатывается отдельно.Спасибо за ваше время и терпение.