Я не могу создать правильное регулярное выражение для извлечения правильных токенов из моей строки.Заполнение начала строки пробелом приводит к правильному выводу, но, кажется, не оптимальным:
>>> import re
>>> s = '-edge_0triggered a-b | -level_Sensitive c-d | a-b-c'
>>> re.findall(r'\W(-[\w_]+)',' '+s)
['-edge_0triggered', '-level_Sensitive'] # correct output
Вот некоторые из регулярных выражений, которые я пробовал, есть ли у кого-нибудь предложение регулярного выражения, которое не 't включает изменение исходной строки и генерирует правильный вывод
>>> re.findall(r'(-[\w_]+)',s)
['-edge_0triggered', '-b', '-level_Sensitive', '-d', '-b', '-c']
>>> re.findall(r'\W(-[\w_]+)',s)
['-level_Sensitive']