Ich habe gerade angefangen zu lernen (seit zwei Tagen) und schreibe Python-Code.Regex verhält sich nicht wie erwartet
Ich habe versucht, eine Regex zu arbeiten, aber ohne Erfolg. Ich bekomme kein Ergebnis.
Meine Regex sieht aus wie dieser (?<=!#)device.*\b\W
und der Test-String ist
!# Approved : YES !# REASON: test !# DEVICE: TEST1TEST2 !# ACL: <Rule No>/110 and 102/120 !# SECTION: MORI !# REQUESTER: test1x !# MODIFIER: test1
https://regex101.com/r/m05Coq/1
Ich versuche, das Gerät Zeichenfolge zu lesen. Wie Sie sehen, funktioniert dies im Regex-Editor, aber nicht sicher, warum es nicht funktioniert, wenn ich dasselbe in einer Python-App verwende.
Mein Python-Code sieht wie folgt aus:
import re
teststr = """!# Approved : YES
!# REASON: test
!# DEVICE: TEST1TEST2
!# ACL: <Rule No>/110 and 102/120
!# SECTION: MORI
!# REQUESTER: test1x
!# MODIFIER: test1"""
def test():
q = re.compile(r'(?<=!#)device.*\b\W', re.MULTILINE | re.IGNORECASE)
print(q.findall(teststr))
Sie haben verlegt ')' hier:. 'Q = re.compile (?! R '(<= #) Gerät * \ b \ W '), re.MULTILINE, re.IGNORECASE'. Ich denke, es sollte 'q = re.compile (r '(? <=! #) Gerät. * \ B \ W', re.MULTILINE | re.IGNORECASE)' – mshsayem
schlechte Kopie einfügen ... Ich habe den Code behoben jetzt. Das Ergebnis ändert sich jedoch nicht :( – Navyseal