Python Regex -Substitution für das Komma -Match

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Python Regex -Substitution für das Komma -Match

by Anonymous » 05 Mar 2025, 07:36

Für die Eingangszeichenfolge, wie unten gezeigt, versuche ich uk1/ After Street und jeder, und überspringen, um die erwartete Ausgabe zu erstellen, die unten gezeigt wird.

Code: Select all

Input = Street1-2,4,6,8-10

Code: Select all

Expected output = StreetUK/1-2,UK/4,UK/6,UK/8-10

Mit dem Regex -Muster habe ich für jede erfasste Gruppe einen Fehlerersatz. Wie kann ich alle erforderlichen Gruppen für jeden, und sub erforderlichen Zeichenfolge erfassen?

Code: Select all

replacements = []
pattern = r"(Street)?(?:\d+)(((,)?(?:\d+))*[-]?(?:\d+))*"

def replacement(x):
replacements.append(f"{x.group(1)}{'UK'}/")

input = 'Street1-2,4,6,8-10'
m = re.sub(pattern, replacement, input)
print(m, [''.join(x) for x in replacements] )

Der obige Code druckt nur ['Streetuk/'] , aber nicht wie erwartet.

Top