2017-10-12 28 views
-3

Ich bin auf der Suche nach regulären Ausdrücken ratlos, also dachte ich, ich würde die großen Hunde fragen.Reguläre Ausdrücke Eine Reihe von Zahlen finden

Ich habe eine Zeichenfolge, die 1 bis 4 Sätze reichen kann wie folgt dar:

1234-abcd, baa74739, maps21342, 6789 

Jetzt habe ich die regulären Ausdrücke für die 1234-abcd herausgefunden, baa74739 und maps21342. Allerdings habe ich Probleme, einen Code herauszufinden, um die Zahlen zu ziehen, die alleine stehen. Hat jemand eine Meinung dazu?

Beispiel der Regex verwendet I:

dbout.Range("D7").Formula = "=RegexExtract(DH7," & Chr(34) & "([M][A][P][S]\d+)" & Chr(34) & ")" 
dbout.Range("D7").AutoFill Destination:=dbout.Range("D7:D2000") 
+0

Das sieht für mich nicht wie ein normaler Ausdruck aus. Verwenden Sie Excel? Ein guter Ort, um mit regulären Ausdrücken zu spielen, ist https://www.regexpal.com/. Wenn Sie wissen möchten, wie Sie sie am besten in Excel verwenden können, sind Sie wahrscheinlich besser dran, wenn Sie sich irgendwo auf Excel (oder zumindest auf Taggen Sie Ihre Frage entsprechend). – MatrixManAtYrService

+0

'RegexExtract' ist nicht' excel' noch 'vba'. Bitte aktualisiere deine Tags. – jsotola

Antwort

0

für digit Stand-alone-

ersetzen
dbout.Range("D7").Formula = "=RegexExtract(DH7," & Chr(34) & "([M][A][P][S]\d+)" & Chr(34) & ")" 
dbout.Range("D7").AutoFill Destination:=dbout.Range("D7:D2000") 

mit

dbout.Range("D7").Formula = "=RegexExtract(DH7," & Chr(34) & "(\b\d+\b)" & Chr(34) & ")" 
dbout.Range("D7").AutoFill Destination:=dbout.Range("D7:D2000") 

ODER

dbout.Range("D7").Formula = "=RegexExtract(DH7,""(\b\d+\b)"")" 
dbout.Range("D7").AutoFill Destination:=dbout.Range("D7:D2000")