#regex
#регулярное выражение
Вопрос:
Например, строка:
"0x0:dqwdq0x1:dqwd0x2-0x3:sdqwd"
Как мне сопоставить следующее:
['0x0:', '0x1:', '0x2-0x3:']
в регулярном выражении или лучше использовать re module в python? В большинстве случаев шаблоны будут в 0x [0-9], но дело в том, что иногда в строке будет дополнительный фрагмент: -0x [0-9]. Спасибо за помощь!
Комментарии:
1. Итак, в основном вам нужно сопоставить
0x#:
и0x#-0x#:
? Могут ли быть две цифры послеx
?2. Пожалуйста, не забудьте выбрать мой пост в качестве ответа, если это поможет. Дайте мне знать, если что-то пойдет не так. Спасибо!
Ответ №1:
Вы можете использовать приведенный ниже код, чтобы получить 0x0:, 0x0-0x0: или даже больше 0x0-0x0-0x0: чисел.
((dxd)-?) :
И да, python должен быть в состоянии выполнить эту работу. Пока регулярное выражение правильно соответствует тому, что вы хотите, используемый вами язык не должен иметь значения.
Ответ №2:
0xd(-0xd)?:
Это регулярное выражение будет соответствовать 0x#:
и 0x#-0x#:
, где #
— цифра. Как вы можете видеть, часть между круглыми скобками необязательна при использовании этого ?
.