import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^([^\\s]+)(\\s\\d?)(.*)$";
final String string = "CH4 ENGLAND\n"
+ "CH4 GB\n"
+ "CH4 LONDON\n"
+ "CH4 LONDON/SOUTH\n"
+ "CH4 LONDON/SOUTH/MIDLANDS\n"
+ "CH4 MIDLANDS\n"
+ "CH4 NETWORK\n"
+ "CH4 NORTH\n"
+ "CH4 SCOTLAND\n"
+ "CH4 SOUTH\n"
+ "CH4 ULSTER\n"
+ "CH4+1 ENGLAND\n"
+ "CH4+1 GB\n"
+ "CH4+1 LONDON\n"
+ "CH4+1 LONDON/SOUTH\n"
+ "CH4+1 LONDON/SOUTH/MIDLANDS\n"
+ "CH4+1 MIDLANDS\n"
+ "CH4+1 NETWORK\n"
+ "CH4+1 NORTH\n"
+ "CH4+1 SCOTLAND\n"
+ "CH4+1 SOUTH\n"
+ "CH4+1 ULSTER\n"
+ "CHANNEL 5 NETWORK\n"
+ "CHANNEL 5+1 NETWORK\n"
+ "ITV ANGLIA\n"
+ "ITV BORDER\n"
+ "ITV BREAKFAST\n"
+ "ITV BREAKFAST CENTRAL\n"
+ "ITV BREAKFAST ENG & WALES\n"
+ "ITV BREAKFAST GREAT BRITAIN\n"
+ "ITV BREAKFAST HD - ULSTER\n"
+ "ITV BREAKFAST HD CENTRAL\n"
+ "ITV BREAKFAST HD ENG & WALES\n"
+ "ITV BREAKFAST HD GB\n"
+ "ITV BREAKFAST HD LITTLEBRITAIN\n"
+ "ITV BREAKFAST HD LONDON\n"
+ "ITV BREAKFAST HD NETWORK\n"
+ "ITV BREAKFAST HD NORTH\n"
+ "ITV BREAKFAST HD SCOTLAND\n"
+ "ITV BREAKFAST HD SOUTH\n"
+ "ITV BREAKFAST LITTLEBRITAIN\n"
+ "ITV BREAKFAST LONDON\n"
+ "ITV BREAKFAST NORTH\n"
+ "ITV BREAKFAST SCOTLAND\n"
+ "ITV BREAKFAST SOUTH\n"
+ "ITV BREAKFAST ULSTER\n"
+ "ITV BREAKFAST+1 - ENG & WAL\n"
+ "ITV BREAKFAST+1 - GB\n"
+ "ITV BREAKFAST+1 - LONDON\n"
+ "ITV BREAKFAST+1 - MIDLANDS\n"
+ "ITV BREAKFAST+1 - NETWORK\n"
+ "ITV BREAKFAST+1 - NORTH\n"
+ "ITV BREAKFAST+1 - NTH/STH/MID\n"
+ "ITV BREAKFAST+1 - SCOTLAND\n"
+ "ITV BREAKFAST+1 - SOUTH\n"
+ "ITV BREAKFAST+1 - ULSTER\n"
+ "ITV CENTRAL\n"
+ "ITV GRANADA\n"
+ "ITV GRANADA BORDER MACRO\n"
+ "ITV HD ANGLIA\n"
+ "ITV HD BORDER\n"
+ "ITV HD CENTRAL\n"
+ "ITV HD GRANADA\n"
+ "ITV HD GRANADA BORDER MACRO\n"
+ "ITV HD LONDON CARLTON\n"
+ "ITV HD LONDON LWT\n"
+ "ITV HD MERIDIAN\n"
+ "ITV HD MIDWEST MACRO\n"
+ "ITV HD NORTH MACRO\n"
+ "ITV HD SOUTH EAST MACRO\n"
+ "ITV HD STV MACRO\n"
+ "ITV HD TYNE TEES\n"
+ "ITV HD UTV\n"
+ "ITV HD WALES\n"
+ "ITV HD WEST\n"
+ "ITV HD WESTCOUNTRY\n"
+ "ITV HD YORKSHIRE\n"
+ "ITV HD YORKSHIRE/TT MACRO\n"
+ "ITV LONDON CARLTON\n"
+ "ITV LONDON LWT\n"
+ "ITV MERIDIAN\n"
+ "ITV MIDWEST MACRO\n"
+ "ITV NORTH MACRO\n"
+ "ITV SOUTH EAST MACRO\n"
+ "ITV STV MACRO\n"
+ "ITV TYNE TEES\n"
+ "ITV UTV\n"
+ "ITV WALES\n"
+ "ITV WALES & WEST\n"
+ "ITV WEST\n"
+ "ITV WEST MACRO\n"
+ "ITV WESTCOUNTRY\n"
+ "ITV YORKSHIRE\n"
+ "ITV YORKSHIRE TYNE TEES MACRO\n"
+ "ITV+1- ANGLIA\n"
+ "ITV+1 - CARLTON\n"
+ "ITV+1 - CENTRAL\n"
+ "ITV+1 - GRANADA/BORDER MACRO\n"
+ "ITV+1 - LWT\n"
+ "ITV+1 - MERIDIAN\n"
+ "ITV+1 - MIDWEST MACRO\n"
+ "ITV+1 - NORTH MACRO\n"
+ "ITV+1 - SCOTLAND MACRO\n"
+ "ITV+1 - SOUTH EAST MACRO\n"
+ "ITV+1 - TYNE TEES\n"
+ "ITV+1 - ULSTER\n"
+ "ITV+1 - WALES\n"
+ "ITV+1 - WALES + WEST MACRO\n"
+ "ITV+1 - WEST\n"
+ "ITV+1 - WEST MACRO\n"
+ "ITV+1 - WESTCOUNTRY\n"
+ "ITV+1 - YORKSHIRE\n"
+ "ITV+1 - YORKSHIRE/TT MACRO\n"
+ "S4C UK\n";
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