import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(aS)\\s+((\\`)?\\w+(\\`)?)(\\s+|\\,|(FRom\\s+))";
final String string = " SELECT \n"
+ " a.WORKORDER_NO AS workOrderNo, \n"
+ " a.ORD_TYPE AS ordType, \n"
+ " a.ORD_NO AS ordNo, \n"
+ " a.RETURN_FLAG AS returnFlag, \n"
+ " a.AREA_ID AS areaId, \n"
+ " a.USER_NAME AS userName, \n"
+ " a.ADDR_DETAIL AS addrDetail, \n"
+ " a.HANDLE_STAFF_ID AS handleStaffId, \n"
+ " a.TAKE_STAFF_ID AS takeStaffId, \n"
+ " a.TAKE_TS AS takeTs, \n"
+ " a.RETURN_STAFF_ID AS returnStaffId, \n"
+ " a.RETURN_TS AS returnTs, \n"
+ " a.SUMMARY AS summary, \n"
+ " a.WO_TITLE AS woTitle, \n"
+ " a.INSTALL_FLAG AS installFlag, \n"
+ " a.START_TS AS startTs, \n"
+ " a.END_TS AS endTs, \n"
+ " a.GRID_ID AS gridId, \n"
+ " a.SCHEMA_ID AS schemaId, \n"
+ " a.PROJECT_ID AS projectId, \n"
+ " a.COMMENTS AS comments, \n"
+ " a.STATE AS `state`, \n"
+ " a.CREATE_USER AS createUser, \n"
+ " a.CREATE_DATE AS createDate, \n"
+ " a.MODIFY_USER AS modifyUser, \n"
+ " a.MODIFY_DATE AS modifyDate, \n"
+ " a.HANDLE_TEAM_ID AS handleTeamId, \n"
+ " a.PACKAGE_ID AS packageId, \n"
+ " a.PACKAGE_NAME AS packageName, \n"
+ " a.SUB_TYPE AS subType, \n"
+ " a.pre_work_order_no AS preWorkOrderNo, \n"
+ " a.IS_SYNC AS isSync, \n"
+ " a.IS_VIRTUAL AS isVirtual, \n"
+ " a.VIRTUAL_WORKORDER_NO AS virtualWorkOrderNo, \n"
+ " a.VIRTUAL_WORKORDER_RES_ID AS virtualWorkOrderResId, \n"
+ " a.IS_POLE AS isPole, \n"
+ " a.VER_NO AS verNo, \n"
+ " a.TASK_ID AS taskId, \n"
+ " \n"
+ " b.USER_NAME AS userName \n"
+ " \n"
+ " FROM oss_edn.edn_work_order a \n"
+ " LEFT JOIN oss_wfm.wfs_user_infor b ON a.HANDLE_STAFF_ID = b.USER_ID \n"
+ " WHERE a.WORKORDER_NO = :workOrderNo";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
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