2016-08-25 1 views
1

Ich habe den folgenden Satz von IP-und PORT-Nummern, die ich erfassen muss. Im Idealfall möchte ich jede IP/PORT-Kombination in ihrer eigenen Gruppe für insgesamt sechs Gruppen erfassen.Regex mehrere Erfassungen

Ich kann den ersten Satz mit diesem aufzuschlüsseln erhalten:

(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5}) 

server 198.51.100.90:80 weight=3; 
server 198.51.100.91:80; 
server 198.51.100.93:80; 

https://regex101.com/r/gS1hR6/1

+2

Wie das? https://regex101.com/r/lL8iQ0/1 (addieren Sie den 'g' Modifikator) –

+0

Das hat den Trick, aber es stellt sich heraus, dass: Ich kann nicht Modifikatoren in ServiceNow, zwei ServiceNow Schleifen durch die Ergebnisse. :) –

+0

Vielleicht könnten Sie die Zeichenfolge in neue Zeilen aufteilen, um einen Modifikator zu vermeiden –

Antwort

0

fügen den /g Modifikator

g Modifikator:g lobaler. Alle Spiele (nicht zurück auf erstem Spiel)

DEMO: https://regex101.com/r/gS1hR6/2

Match Information

MATCH 1 
1. [11-24] `198.51.100.90` 
2. [25-27] `80` 
MATCH 2 
1. [49-62] `198.51.100.91` 
2. [63-65] `80` 
MATCH 3 
1. [78-91] `198.51.100.93` 
2. [92-94] `80` 

RegEx

/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})/g