import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "((ยี่|สาม|สี่|ห้า|หก|เจ็ด|แปด|เก้า)?(สิบ)(เอ็ด|สอง|สาม|สี่|ห้า|หก|เจ็ด|แปด|เก้า)?)สตางค์|(หนึ่ง|สอง|สาม|สี่|ห้า|หก|เจ็ด|แปด|เก้า|สิบ)สตางค์|(ถ้วน)";
final String string = "ถ้วน\n"
+ "หนึ่งสตางค์ \n"
+ "เอ็ดสตางค์\n"
+ "สองสตางค์\n"
+ "สามสตางค์\n"
+ "สี่สตางค์\n"
+ "ห้าสตางค์\n"
+ "หกสตางค์\n"
+ "เจ็ดสตางค์\n"
+ "แปดสตางค์\n"
+ "เก้าสตางค์\n"
+ "สิบสตางค์\n"
+ "สิบเอ็ดสตางค์\n"
+ "สิบสองสตางค์\n"
+ "สิบสามสตางค์\n"
+ "สิบสี่สตางค์\n"
+ "ห้าห้าสตางค์\n"
+ "สิบห้าสตางค์\n"
+ "สิบหกสตางค์\n"
+ "สิบเจ็ดสตางค์\n"
+ "สิบแปดสตางค์\n"
+ "สิบเก้าสตางค์\n"
+ "ยี่สิบสตางค์\n"
+ "ยี่สิบเอ็ดสตางค์\n"
+ "ยี่สิบสองสตางค์\n"
+ "ยี่สิบสามสตางค์\n"
+ "ยี่สิบสี่สตางค์\n"
+ "ยี่สิบห้าสตางค์\n"
+ "ยี่สิบหกสตางค์\n"
+ "ยี่สิบเจ็ดสตางค์\n"
+ "ยี่สิบแปดสตางค์\n"
+ "ยี่สิบเก้าสตางค์\n"
+ "สามสิบสตางค์\n"
+ "สามสิบเอ็ดสตางค์\n"
+ "สามสิบสองสตางค์\n"
+ "สามสิบสามสตางค์\n"
+ "สามสิบสี่สตางค์\n"
+ "สามสิบห้าสตางค์\n"
+ "สามสิบหกสตางค์\n"
+ "สามสิบเจ็ดสตางค์\n"
+ "สามสิบแปดสตางค์\n"
+ "สามสิบเก้าสตางค์\n"
+ "สี่สิบสตางค์\n"
+ "สี่สิบเอ็ดสตางค์\n"
+ "สี่สิบสองสตางค์\n"
+ "สี่สิบสามสตางค์\n"
+ "สี่สิบสี่สตางค์\n"
+ "สี่สิบห้าสตางค์\n"
+ "สี่สิบหกสตางค์\n"
+ "สี่สิบเจ็ดสตางค์\n"
+ "สี่สิบแปดสตางค์\n"
+ "สี่สิบเก้าสตางค์\n"
+ "ห้าสิบสตางค์\n"
+ "ห้าสิบเอ็ดสตางค์\n"
+ "ห้าสิบสองสตางค์\n"
+ "ห้าสิบสามสตางค์\n"
+ "ห้าสิบสี่สตางค์\n"
+ "ห้าสิบห้าสตางค์\n"
+ "ห้าสิบหกสตางค์\n"
+ "ห้าสิบเจ็ดสตางค์\n"
+ "ห้าสิบแปดสตางค์\n"
+ "ห้าสิบเก้าสตางค์\n"
+ "หกสิบสตางค์\n"
+ "หกสิบเอ็ดสตางค์\n"
+ "หกสิบสองสตางค์\n"
+ "หกสิบสามสตางค์\n"
+ "หกสิบสี่สตางค์\n"
+ "หกสิบห้าสตางค์\n"
+ "หกสิบหกสตางค์\n"
+ "หกสิบเจ็ดสตางค์\n"
+ "หกสิบแปดสตางค์\n"
+ "หกสิบเก้าสตางค์\n"
+ "เจ็ดสิบสตางค์\n"
+ "เจ็ดสิบเอ็ดสตางค์\n"
+ "เจ็ดสิบสองสตางค์\n"
+ "เจ็ดสิบสามสตางค์\n"
+ "เจ็ดสิบสี่สตางค์\n"
+ "เจ็ดสิบห้าสตางค์\n"
+ "เจ็ดสิบหกสตางค์\n"
+ "เจ็ดสิบเจ็ดสตางค์\n"
+ "เจ็ดสิบแปดสตางค์\n"
+ "เจ็ดสิบเก้าสตางค์\n"
+ "แปดสิบสตางค์\n"
+ "แปดสิบเอ็ดสตางค์\n"
+ "แปดสิบสองสตางค์\n"
+ "แปดสิบสามสตางค์\n"
+ "แปดสิบสี่สตางค์\n"
+ "แปดสิบห้าสตางค์\n"
+ "แปดสิบหกสตางค์\n"
+ "แปดสิบเจ็ดสตางค์\n"
+ "แปดสิบแปดสตางค์\n"
+ "แปดสิบเก้าสตางค์\n"
+ "เก้าสิบสตางค์\n"
+ "เก้าสิบเอ็ดสตางค์\n"
+ "เก้าสิบสองสตางค์\n"
+ "เก้าสิบสามสตางค์\n"
+ "เก้าสิบสี่สตางค์\n"
+ "เก้าสิบห้าสตางค์\n"
+ "เก้าสิบหกสตางค์\n"
+ "เก้าสิบเจ็ดสตางค์\n"
+ "เก้าสิบแปดสตางค์\n"
+ "เก้าสิบเก้าสตางค์";
final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
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