Ich versuche, einen regulären Ausdruck für eine Zeile zu schreiben wie:Wie kann ich eine Gruppe von Zahlen, die in einer Zeile vorkommen können oder nicht, in einer Gruppe erfassen?
Funds Disb ABC Corp nmnxcb /abdsd= 12345678912345 abcdef
und die Ziffern in einer benannten Gruppe abzurufen. Ich habe einen regulären Ausdruck für die oben erstellt als:
^Funds Disb ABC Corp.*\s+(?<SOMEID>\d+).*$
Das Problem mit, dass es würde meine Linie nicht überein, wenn die Zahl (12345678912345 in dem obigen Beispiel) nicht in der Leitung ist. Ich habe versucht, es zu ändern (Hinzufügen von "?" Nach der Gruppe), so würde es 0 oder 1 Instanz der benannten Gruppe erwarten, aber nach der Änderung hört es auf, die Zahl insgesamt als die benannte Gruppe zu lesen.
^Funds Disb ABC Corp.*\s+(?<SOMEID>\d+)?.*$