import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?P<type>SLA)(?:::)(?P<sa>[0-9]{4,7}|(?:_))?(?:::)(?P<cid>[a-zA-Z-0-9-/._]{8,}|(?:_))?(?:::)(?P<ip>\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|(?:_))?(?:::)(?P<desc>[\\w#()/-]*)";
final String string = "SLA::3223453::801-4259::10.224.0.88::PIONEERLAND_DASSEL\n"
+ "SLA::3223482::_::_::PIONEERLAND_RAYMOND\n"
+ "UNI::3238811::ROCHESTER_COMMUNITY_COLLEGE\n"
+ "SLA::_::_::10.224.0.88::PIONEERLAND_WILLMAR_DC\n"
+ "SLA::3211691::A1Q0041C::_::TMOBILE_511_PARK_AVE\n"
+ "SLA::3206176::EEVC/011439//2636/EPL::10.252.51.50::CHARTER_BANK\n"
+ "SLA::3206176::_::10.252.51.50::CHARTER_BANK\n"
+ "SLA::3223621::70.VLXP.024011..CBCL..::_::GOEBEL_FIXTURES_COMPANY\n"
+ "SLA::3178253::KRE1/50393/MPT/CTTNMNTMOB1::10.224.0.88::TMOBILE_COTTON\n"
+ "ACCESS::DSLAM_TEST\n"
+ "SLA::3265812::L2XN/77798/MPT/LRTOMNARPF::10.224.0.159::CCI_ARROWHEAD_PROMOTION\n"
+ "SLA::3152953::180-361-0266::10.252.51.101::HORMEL_BLOOMING_PRAIRIE\n"
+ "SLA::3137605::GEYX/065858::10.252.2.203::ZAYO_VZW_KIMBALL\n"
+ "SLA::3171637::88/INFR/102977//DCE/::10.252.2.25::BNC_BANK\n"
+ "SLA::3182788::150-368-0293::10.252.51.36::NORTHFIELD-HOSPITAL\n"
+ "SLA::3221907::EVENT_41767_PEARL_LAKE_LIT::10.224.0.166::VZW_PEARLLAKE\n"
+ "SLA::_::_::_::VZW_GP_RED_WING_WEST\n"
+ "SLA::3227386::16-KFLA-01156--NVP::_::ZAYO_DULUTH_GROUP";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html