Как использовать регулярные выражения для сопоставления одних слов, если они существуют (если не совпадают и другие, оставленные тоже) - PullRequest
2 голосов
/ 08 марта 2019

Например, строка:

"0x0:dqwdq0x1:dqwd0x2-0x3:sdqwd"

Как мне сопоставить следующее:

['0x0:', '0x1:', '0x2-0x3:'] 

в регулярных выражениях, или лучше использовать модуль re в Python? В большинстве случаев паттерны будут в 0x [0-9], но иногда есть дополнительный фрагмент: -0x [0-9] в строке. Спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 08 марта 2019

Вы можете использовать код ниже, чтобы получить 0x0 :, 0x0-0x0: или даже больше 0x0-0x0-0x0: числа.

((\dx\d)-?)+:

И да, Python должен быть в состоянии выполнить работу,До тех пор, пока регулярное выражение корректно соответствует тому, что вы хотите, язык, который вы используете, не должен иметь значения.

0 голосов
/ 08 марта 2019
0x\d(-0x\d)?:

Это регулярное выражение будет соответствовать 0x#: и 0x#-0x#:, где # - это цифра.Как вы можете видеть, часть между круглыми скобками необязательна при использовании этого ?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...