import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^\n"
+ "(?=[-+]?(?:0\\B)*+(\\d*?)((?:(?=\\d+(?:\\.\\d+)?\\ [-+]?(?:0\\B)*+(\\d*?)(\\d(?(4)\\4))(?:\\.\\d+)?\\ [-+]?(?:0\\B)*+(\\d*?)(\\d(?(6)\\6))(?:\\.\\d+)?$)\\d)++)\\b)\n"
+ "(?:\n"
+ " (?=-\\S*\\ -\\S*\\ -|(?!.*-))\n"
+ " [-+]?(?:0\\B)*+\n"
+ " (?=\n"
+ " (?(?!\\1\\.?(?!(?!(?&a))))\n"
+ " (?=\\S+\\ \\S+\\ [-+]?0*\\1\\3\\6(?:\\.\\d+)?$)\n"
+ " |\n"
+ " (?(?!.*+\\3)\\S+\\ [-+]?(?:0\\B)*)\n"
+ " (?=\\d*?(\\2|\\4)\\b(.*?\\ [-+]?(?:0\\B)*)\\S+$)\n"
+ " (?(?=9*\\7\\b)\n"
+ " (?:9(?=\\d*?\\8[1](\\g\\{-1\\}?+0)))*?\n"
+ " \\7\\8[1]\\g\\{-1\\}?+\\6\\b\n"
+ " |\n"
+ " (?:(\\d)(?=\\d*\\8(\\g\\{-1\\}?+\\g\\{-2\\})))*+\n"
+ " (?=\\d(\\d*\\8\\g\\{-2\\}?+))\n"
+ " (?=0\\g\\{-1\\}1|1\\g\\{-1\\}2|2\\g\\{-1\\}3|3\\g\\{-1\\}4|4\\g\\{-1\\}5|5\\g\\{-1\\}6|6\\g\\{-1\\}7|7\\g\\{-1\\}8|8\\g\\{-1\\}9)\n"
+ " \\d\n"
+ " (?:9(?=\\d*\\8\\g\\{-2\\}?+\\d(\\g\\{-1\\}?+0)))*?\n"
+ " \\7\\8\\g\\{-3\\}?+\\d\\g\\{-1\\}?+\\6\\b\n"
+ " )\n"
+ " )\n"
+ " )\n"
+ " \\1\n"
+ " (?:\n"
+ " (?=\\.?(\\d)\\S*\\ [-+]?(?:0\\B)*+\\3((\\g\\{-2\\}?+\\.?)\\d)\\S*\\ [-+]?(?:0\\B)*+\\5((\\g\\{-2\\}?+\\.?)\\d))\n"
+ " \\.?\n"
+ " (?(?=(?!\n"
+ " \\14\\.?\n"
+ " (?<a>\n"
+ " (?:\n"
+ " (?=\\d\\.?\\d(?<b>\\S*?\\ [-+]?(?:0\\B)*\\3\\15?+)((\\g\\{-2\\}?+\\.?)\\d))\n"
+ " (?=\\d(\\S*?\\g\\{-4\\}\\g\\{-2\\}))\n"
+ " (?=0\\g\\{-1\\}9|1\\g\\{-1\\}8|2\\g\\{-1\\}7|3\\g\\{-1\\}6|4\\g\\{-1\\}5|5\\g\\{-1\\}4|6\\g\\{-1\\}3|7\\g\\{-1\\}2|8\\g\\{-1\\}1|9\\g\\{-1\\}0)\n"
+ " \\d\\.?(?=\\S*?(\\g\\{-5\\}\\g\\{-4\\}))\n"
+ " )*+\n"
+ " (?=\\d(\\g\\{-2\\}\\.?|(?&b)\\.?))\n"
+ " (?=[5-9]\\g\\{-1\\}[5-9]|1\\g\\{-1\\}9|2\\g\\{-1\\}[89]|3\\g\\{-1\\}[7-9]|4\\g\\{-1\\}[6-9]|6\\g\\{-1\\}4|7\\g\\{-1\\}[34]|8\\g\\{-1\\}[2-4]|9\\g\\{-1\\}[1-4])\n"
+ " ){0}\n"
+ " (?&a)\n"
+ " ))\n"
+ " (?=\\d(\\S*\\ [-+]?(?:0\\B)*\\3\\16)\\d(\\S*\\ [-+]?(?:0\\B)*\\5\\18))\n"
+ " (?=\n"
+ " 1\\g\\{-2\\}(?:1\\g\\{-1\\}2|2\\g\\{-1\\}3|3\\g\\{-1\\}4|4\\g\\{-1\\}5|5\\g\\{-1\\}6|6\\g\\{-1\\}7|7\\g\\{-1\\}8|8\\g\\{-1\\}9|9\\g\\{-1\\}0)\n"
+ " |2\\g\\{-2\\}(?:1\\g\\{-1\\}3|2\\g\\{-1\\}4|3\\g\\{-1\\}5|4\\g\\{-1\\}6|5\\g\\{-1\\}7|6\\g\\{-1\\}8|7\\g\\{-1\\}9|8\\g\\{-1\\}0|9\\g\\{-1\\}1)\n"
+ " |3\\g\\{-2\\}(?:1\\g\\{-1\\}4|2\\g\\{-1\\}5|3\\g\\{-1\\}6|4\\g\\{-1\\}7|5\\g\\{-1\\}8|6\\g\\{-1\\}9|7\\g\\{-1\\}0|8\\g\\{-1\\}1|9\\g\\{-1\\}2)\n"
+ " |4\\g\\{-2\\}(?:1\\g\\{-1\\}5|2\\g\\{-1\\}6|3\\g\\{-1\\}7|4\\g\\{-1\\}8|5\\g\\{-1\\}9|6\\g\\{-1\\}0|7\\g\\{-1\\}1|8\\g\\{-1\\}2|9\\g\\{-1\\}3)\n"
+ " |5\\g\\{-2\\}(?:1\\g\\{-1\\}6|2\\g\\{-1\\}7|3\\g\\{-1\\}8|4\\g\\{-1\\}9|5\\g\\{-1\\}0|6\\g\\{-1\\}1|7\\g\\{-1\\}2|8\\g\\{-1\\}3|9\\g\\{-1\\}4)\n"
+ " |6\\g\\{-2\\}(?:1\\g\\{-1\\}7|2\\g\\{-1\\}8|3\\g\\{-1\\}9|4\\g\\{-1\\}0|5\\g\\{-1\\}1|6\\g\\{-1\\}2|7\\g\\{-1\\}3|8\\g\\{-1\\}4|9\\g\\{-1\\}5)\n"
+ " |7\\g\\{-2\\}(?:1\\g\\{-1\\}8|2\\g\\{-1\\}9|3\\g\\{-1\\}0|4\\g\\{-1\\}1|5\\g\\{-1\\}2|6\\g\\{-1\\}3|7\\g\\{-1\\}4|8\\g\\{-1\\}5|9\\g\\{-1\\}6)\n"
+ " |8\\g\\{-2\\}(?:1\\g\\{-1\\}9|2\\g\\{-1\\}0|3\\g\\{-1\\}1|4\\g\\{-1\\}2|5\\g\\{-1\\}3|6\\g\\{-1\\}4|7\\g\\{-1\\}5|8\\g\\{-1\\}6|9\\g\\{-1\\}7)\n"
+ " |9\\g\\{-2\\}(?:1\\g\\{-1\\}0|2\\g\\{-1\\}1|3\\g\\{-1\\}2|4\\g\\{-1\\}3|5\\g\\{-1\\}4|6\\g\\{-1\\}5|7\\g\\{-1\\}6|8\\g\\{-1\\}7|9\\g\\{-1\\}8)\n"
+ " |0\\g\\{-2\\}(\\d)\\g\\{-2\\}\\g\\{-1\\}\n"
+ " |(\\d)\\g\\{-4\\}0\\g\\{-3\\}\\g\\{-1\\}\n"
+ " )\n"
+ " |\n"
+ " (?=\\d((?-5))\\d((?-5)))\n"
+ " (?= \n"
+ " 1\\g\\{-2\\}(?:0\\g\\{-1\\}2|1\\g\\{-1\\}3|2\\g\\{-1\\}4|3\\g\\{-1\\}5|4\\g\\{-1\\}6|5\\g\\{-1\\}7|6\\g\\{-1\\}8|7\\g\\{-1\\}9|8\\g\\{-1\\}0|9\\g\\{-1\\}1)\n"
+ " |2\\g\\{-2\\}(?:0\\g\\{-1\\}3|1\\g\\{-1\\}4|2\\g\\{-1\\}5|3\\g\\{-1\\}6|4\\g\\{-1\\}7|5\\g\\{-1\\}8|6\\g\\{-1\\}9|7\\g\\{-1\\}0|8\\g\\{-1\\}1|9\\g\\{-1\\}2)\n"
+ " |3\\g\\{-2\\}(?:0\\g\\{-1\\}4|1\\g\\{-1\\}5|2\\g\\{-1\\}6|3\\g\\{-1\\}7|4\\g\\{-1\\}8|5\\g\\{-1\\}9|6\\g\\{-1\\}0|7\\g\\{-1\\}1|8\\g\\{-1\\}2|9\\g\\{-1\\}3)\n"
+ " |4\\g\\{-2\\}(?:0\\g\\{-1\\}5|1\\g\\{-1\\}6|2\\g\\{-1\\}7|3\\g\\{-1\\}8|4\\g\\{-1\\}9|5\\g\\{-1\\}0|6\\g\\{-1\\}1|7\\g\\{-1\\}2|8\\g\\{-1\\}3|9\\g\\{-1\\}4)\n"
+ " |5\\g\\{-2\\}(?:0\\g\\{-1\\}6|1\\g\\{-1\\}7|2\\g\\{-1\\}8|3\\g\\{-1\\}9|4\\g\\{-1\\}0|5\\g\\{-1\\}1|6\\g\\{-1\\}2|7\\g\\{-1\\}3|8\\g\\{-1\\}4|9\\g\\{-1\\}5)\n"
+ " |6\\g\\{-2\\}(?:0\\g\\{-1\\}7|1\\g\\{-1\\}8|2\\g\\{-1\\}9|3\\g\\{-1\\}0|4\\g\\{-1\\}1|5\\g\\{-1\\}2|6\\g\\{-1\\}3|7\\g\\{-1\\}4|8\\g\\{-1\\}5|9\\g\\{-1\\}6) \n"
+ " |7\\g\\{-2\\}(?:0\\g\\{-1\\}8|1\\g\\{-1\\}9|2\\g\\{-1\\}0|3\\g\\{-1\\}1|4\\g\\{-1\\}2|5\\g\\{-1\\}3|6\\g\\{-1\\}4|7\\g\\{-1\\}5|8\\g\\{-1\\}6|9\\g\\{-1\\}7)\n"
+ " |8\\g\\{-2\\}(?:0\\g\\{-1\\}9|1\\g\\{-1\\}0|2\\g\\{-1\\}1|3\\g\\{-1\\}2|4\\g\\{-1\\}3|5\\g\\{-1\\}4|6\\g\\{-1\\}5|7\\g\\{-1\\}6|8\\g\\{-1\\}7|9\\g\\{-1\\}8) \n"
+ " |9\\g\\{-2\\}(?:0\\g\\{-1\\}0|1\\g\\{-1\\}1|2\\g\\{-1\\}2|3\\g\\{-1\\}3|4\\g\\{-1\\}4|5\\g\\{-1\\}5|6\\g\\{-1\\}6|7\\g\\{-1\\}7|8\\g\\{-1\\}8|9\\g\\{-1\\}9) \n"
+ " |0\\g\\{-2\\}(?:0\\g\\{-1\\}1|1\\g\\{-1\\}2|2\\g\\{-1\\}3|3\\g\\{-1\\}4|4\\g\\{-1\\}5|5\\g\\{-1\\}6|6\\g\\{-1\\}7|7\\g\\{-1\\}8|8\\g\\{-1\\}9|9\\g\\{-1\\}0)\n"
+ " )\n"
+ " )\n"
+ " \\d\n"
+ " )++\n"
+ " (?:\n"
+ " (?:\\.0+)?0*\\ [-+]?0*\\3\\15(?:\\.0+)?0*\\ [-+]?0*\\5\\17(?:\\.0+)?0*$\n"
+ " |\n"
+ " \\ [-+]?0*\\3\\15(\\.?\\d*?)0*\\ [-+]?0*\\5\\17\\g\\{-1\\}(?:\\.0+)?0*$\n"
+ " |\n"
+ " (\\.?\\d*?)0*\\ [-+]?0*\\3\\15\\ [-+]?0*\\5\\17\\g\\{-1\\}(?:\\.0+)?0*$\n"
+ " |\n"
+ " \\.?\n"
+ " (?:\n"
+ " (?=\\d\\d((?&b))((\\g\\{-2\\}?+\\.?)\\d))\n"
+ " (?=\\d(\\S*?\\g\\{-4\\}\\g\\{-2\\}))\n"
+ " (?=0\\g\\{-1\\}9|1\\g\\{-1\\}8|2\\g\\{-1\\}7|3\\g\\{-1\\}6|4\\g\\{-1\\}5|5\\g\\{-1\\}4|6\\g\\{-1\\}3|7\\g\\{-1\\}2|8\\g\\{-1\\}1|9\\g\\{-1\\}0)\n"
+ " \\d\n"
+ " (?=\\S*?(\\g\\{-5\\}(\\g\\{-5\\})))\n"
+ " )*+\n"
+ " (?=\\d(\\g\\{-3\\}|(?&b)\\.?))\n"
+ " (?=1\\g\\{-1\\}9|2\\g\\{-1\\}8|3\\g\\{-1\\}7|4\\g\\{-1\\}6|5\\g\\{-1\\}5|6\\g\\{-1\\}4|7\\g\\{-1\\}3|8\\g\\{-1\\}2|9\\g\\{-1\\}1)\n"
+ " \\d0*\\ [-+]?0*\\3\\15\\g\\{-2\\}?+\\.?\\d0*\\ [-+]?0*\\5\\17\\.?0*$\n"
+ " )\n"
+ "|\n"
+ " (?=-(?!.*-)|[^-]\\S*\\ -\\S*\\ -)\n"
+ " [-+]?(?:0\\B)*+\n"
+ " (?=\n"
+ " (?(?!\\1\\.?(?!(?!(?&c))))\n"
+ " (?=\\S+\\ [-+]?0*\\1\\5\\4\\b)\n"
+ " \n"
+ " |\n"
+ " (?|\n"
+ " (?!.++\\5)\n"
+ " \\S+\\ [-+]?(?:0\\B)*+(?=\\S*(\\ [-+]?(?:0\\B)*+)())\n"
+ " (?(?=\\S*\\41[9]*\\6\\b)\n"
+ " 1(?:0(?=\\S*\\41(\\g\\{-1\\}?+9)))*?\n"
+ " \\4\\b\\S*\\41\\g\\{-1\\}?+\\6\\b\n"
+ " |\n"
+ " (?:(\\d)(?=\\S*\\41(\\g\\{-1\\}?+\\g\\{-2\\})))*+\n"
+ " (?=\\d(\\S*\\41\\g\\{-2\\}?+))(?=1\\g\\{-1\\}0|2\\g\\{-1\\}1|3\\g\\{-1\\}2|4\\g\\{-1\\}3|5\\g\\{-1\\}4|6\\g\\{-1\\}5|7\\g\\{-1\\}6|8\\g\\{-1\\}7|9\\g\\{-1\\}8)\n"
+ " \\d\n"
+ " (?:0(?=\\S*\\41\\g\\{-2\\}?+\\d(\\g\\{-1\\}?+9)))*?\n"
+ " \\4\\b\\S*\\41\\g\\{-3\\}?+\\d\\g\\{-1\\}?+\\6\\b\n"
+ " )\n"
+ " |\n"
+ " (?=.*+\\5)\n"
+ " (?=\\d*?(\\2)\\b(\\S*\\ [-+]?(?:0\\B)*+))\n"
+ " \n"
+ " (?(?=9*\\41\\b)\n"
+ " (?:9(?=\\d*?\\42[1](\\g\\{-1\\}?+0)))*?\n"
+ " \\41\\42[1]\\g\\{-1\\}?+\\4\\b\n"
+ " |\n"
+ " (?:(\\d)(?=\\d*\\42(\\g\\{-1\\}?+\\g\\{-2\\})))*+\n"
+ " (?=\\d(\\d*\\42\\g\\{-2\\}?+))\n"
+ " (?=0\\g\\{-1\\}1|1\\g\\{-1\\}2|2\\g\\{-1\\}3|3\\g\\{-1\\}4|4\\g\\{-1\\}5|5\\g\\{-1\\}6|6\\g\\{-1\\}7|7\\g\\{-1\\}8|8\\g\\{-1\\}9)\n"
+ " \\d\n"
+ " (?:9(?=\\S*\\42\\g\\{-2\\}?+\\d(\\g\\{-1\\}?+0)))*?\n"
+ " \\41\\42\\g\\{-3\\}?+\\d\\g\\{-1\\}?+\\4\\b\n"
+ " )\n"
+ " )\n"
+ " )\n"
+ " )\n"
+ " \\1\n"
+ " (?:\n"
+ " (?=\\.?(\\d)\\S*\\ [-+]?(?:0\\B)*+\\3((\\g\\{-2\\}?+\\.?)\\d)\\S*\\ [-+]?(?:0\\B)*+\\5((\\g\\{-2\\}?+\\.?)\\d))\n"
+ " \\.?\n"
+ " (?(?=(?!\n"
+ " \\48\\.?\n"
+ " (?<c>\n"
+ " (?:\n"
+ " (?=\\d\\.?\\d(?<d>\\S*?\\ \\S+\\ [-+]?(?:0\\B)*\\5\\51?+)((\\g\\{-2\\}?+\\.?)\\d))\n"
+ " (?=\\d(\\S*?\\g\\{-4\\}\\g\\{-2\\}))\n"
+ " (?=0\\g\\{-1\\}9|1\\g\\{-1\\}8|2\\g\\{-1\\}7|3\\g\\{-1\\}6|4\\g\\{-1\\}5|5\\g\\{-1\\}4|6\\g\\{-1\\}3|7\\g\\{-1\\}2|8\\g\\{-1\\}1|9\\g\\{-1\\}0)\n"
+ " \\d\\.?(?=\\S*?(\\g\\{-5\\}\\g\\{-4\\}))\n"
+ " )*+\n"
+ " (?=\\d(\\g\\{-2\\}\\.?|(?&d)\\.?))\n"
+ " (?=[5-9]\\g\\{-1\\}[5-9]|1\\g\\{-1\\}9|2\\g\\{-1\\}[89]|3\\g\\{-1\\}[7-9]|4\\g\\{-1\\}[6-9]|6\\g\\{-1\\}4|7\\g\\{-1\\}[34]|8\\g\\{-1\\}[2-4]|9\\g\\{-1\\}[1-4])\n"
+ " ){0}\n"
+ " (?&c)\n"
+ " ))\n"
+ " (?=\\d(\\S*\\ [-+]?(?:0\\B)*\\3\\50)\\d(\\S*\\ [-+]?(?:0\\B)*\\5\\52))\n"
+ " (?=\n"
+ " 1\\g\\{-2\\}(?:2\\g\\{-1\\}1|3\\g\\{-1\\}2|4\\g\\{-1\\}3|5\\g\\{-1\\}4|6\\g\\{-1\\}5|7\\g\\{-1\\}6|8\\g\\{-1\\}7|9\\g\\{-1\\}8|0\\g\\{-1\\}9)\n"
+ " |2\\g\\{-2\\}(?:3\\g\\{-1\\}1|4\\g\\{-1\\}2|5\\g\\{-1\\}3|6\\g\\{-1\\}4|7\\g\\{-1\\}5|8\\g\\{-1\\}6|9\\g\\{-1\\}7|0\\g\\{-1\\}8|1\\g\\{-1\\}9)\n"
+ " |3\\g\\{-2\\}(?:4\\g\\{-1\\}1|5\\g\\{-1\\}2|6\\g\\{-1\\}3|7\\g\\{-1\\}4|8\\g\\{-1\\}5|9\\g\\{-1\\}6|0\\g\\{-1\\}7|1\\g\\{-1\\}8|2\\g\\{-1\\}9)\n"
+ " |4\\g\\{-2\\}(?:5\\g\\{-1\\}1|6\\g\\{-1\\}2|7\\g\\{-1\\}3|8\\g\\{-1\\}4|9\\g\\{-1\\}5|0\\g\\{-1\\}6|1\\g\\{-1\\}7|2\\g\\{-1\\}8|3\\g\\{-1\\}9)\n"
+ " |5\\g\\{-2\\}(?:6\\g\\{-1\\}1|7\\g\\{-1\\}2|8\\g\\{-1\\}3|9\\g\\{-1\\}4|0\\g\\{-1\\}5|1\\g\\{-1\\}6|2\\g\\{-1\\}7|3\\g\\{-1\\}8|4\\g\\{-1\\}9)\n"
+ " |6\\g\\{-2\\}(?:7\\g\\{-1\\}1|8\\g\\{-1\\}2|9\\g\\{-1\\}3|0\\g\\{-1\\}4|1\\g\\{-1\\}5|2\\g\\{-1\\}6|3\\g\\{-1\\}7|4\\g\\{-1\\}8|5\\g\\{-1\\}9)\n"
+ " |7\\g\\{-2\\}(?:8\\g\\{-1\\}1|9\\g\\{-1\\}2|0\\g\\{-1\\}3|1\\g\\{-1\\}4|2\\g\\{-1\\}5|3\\g\\{-1\\}6|4\\g\\{-1\\}7|5\\g\\{-1\\}8|6\\g\\{-1\\}9)\n"
+ " |8\\g\\{-2\\}(?:9\\g\\{-1\\}1|0\\g\\{-1\\}2|1\\g\\{-1\\}3|2\\g\\{-1\\}4|3\\g\\{-1\\}5|4\\g\\{-1\\}6|5\\g\\{-1\\}7|6\\g\\{-1\\}8|7\\g\\{-1\\}9)\n"
+ " |9\\g\\{-2\\}(?:0\\g\\{-1\\}1|1\\g\\{-1\\}2|2\\g\\{-1\\}3|3\\g\\{-1\\}4|4\\g\\{-1\\}5|5\\g\\{-1\\}6|6\\g\\{-1\\}7|7\\g\\{-1\\}8|8\\g\\{-1\\}9)\n"
+ " |0\\g\\{-2\\}(\\d)\\g\\{-2\\}\\g\\{-1\\}\n"
+ " |(\\d)\\g\\{-4\\}\\g\\{-1\\}\\g\\{-3\\}0\n"
+ " )\n"
+ " \n"
+ " |\n"
+ " (?=\\d((?-5))\\d((?-5)))\n"
+ " (?= \n"
+ " 1\\g\\{-2\\}(?:2\\g\\{-1\\}0|3\\g\\{-1\\}1|4\\g\\{-1\\}2|5\\g\\{-1\\}3|6\\g\\{-1\\}4|7\\g\\{-1\\}5|8\\g\\{-1\\}6|9\\g\\{-1\\}7|0\\g\\{-1\\}8|1\\g\\{-1\\}9)\n"
+ " |2\\g\\{-2\\}(?:3\\g\\{-1\\}0|4\\g\\{-1\\}1|5\\g\\{-1\\}2|6\\g\\{-1\\}3|7\\g\\{-1\\}4|8\\g\\{-1\\}5|9\\g\\{-1\\}6|0\\g\\{-1\\}7|1\\g\\{-1\\}8|2\\g\\{-1\\}9)\n"
+ " |3\\g\\{-2\\}(?:4\\g\\{-1\\}0|5\\g\\{-1\\}1|6\\g\\{-1\\}2|7\\g\\{-1\\}3|8\\g\\{-1\\}4|9\\g\\{-1\\}5|0\\g\\{-1\\}6|1\\g\\{-1\\}7|2\\g\\{-1\\}8|3\\g\\{-1\\}9)\n"
+ " |4\\g\\{-2\\}(?:5\\g\\{-1\\}0|6\\g\\{-1\\}1|7\\g\\{-1\\}2|8\\g\\{-1\\}3|9\\g\\{-1\\}4|0\\g\\{-1\\}5|1\\g\\{-1\\}6|2\\g\\{-1\\}7|3\\g\\{-1\\}8|4\\g\\{-1\\}9)\n"
+ " |5\\g\\{-2\\}(?:6\\g\\{-1\\}0|7\\g\\{-1\\}1|8\\g\\{-1\\}2|9\\g\\{-1\\}3|0\\g\\{-1\\}4|1\\g\\{-1\\}5|2\\g\\{-1\\}6|3\\g\\{-1\\}7|4\\g\\{-1\\}8|5\\g\\{-1\\}9)\n"
+ " |6\\g\\{-2\\}(?:7\\g\\{-1\\}0|8\\g\\{-1\\}1|9\\g\\{-1\\}2|0\\g\\{-1\\}3|1\\g\\{-1\\}4|2\\g\\{-1\\}5|3\\g\\{-1\\}6|4\\g\\{-1\\}7|5\\g\\{-1\\}8|6\\g\\{-1\\}9) \n"
+ " |7\\g\\{-2\\}(?:8\\g\\{-1\\}0|9\\g\\{-1\\}1|0\\g\\{-1\\}2|1\\g\\{-1\\}3|2\\g\\{-1\\}4|3\\g\\{-1\\}5|4\\g\\{-1\\}6|5\\g\\{-1\\}7|6\\g\\{-1\\}8|7\\g\\{-1\\}9)\n"
+ " |8\\g\\{-2\\}(?:9\\g\\{-1\\}0|0\\g\\{-1\\}1|1\\g\\{-1\\}2|2\\g\\{-1\\}3|3\\g\\{-1\\}4|4\\g\\{-1\\}5|5\\g\\{-1\\}6|6\\g\\{-1\\}7|7\\g\\{-1\\}8|8\\g\\{-1\\}9) \n"
+ " |9\\g\\{-2\\}(?:0\\g\\{-1\\}0|1\\g\\{-1\\}1|2\\g\\{-1\\}2|3\\g\\{-1\\}3|4\\g\\{-1\\}4|5\\g\\{-1\\}5|6\\g\\{-1\\}6|7\\g\\{-1\\}7|8\\g\\{-1\\}8|9\\g\\{-1\\}9) \n"
+ " |0\\g\\{-2\\}(?:1\\g\\{-1\\}0|2\\g\\{-1\\}1|3\\g\\{-1\\}2|4\\g\\{-1\\}3|5\\g\\{-1\\}4|6\\g\\{-1\\}5|7\\g\\{-1\\}6|8\\g\\{-1\\}7|9\\g\\{-1\\}8|0\\g\\{-1\\}9)\n"
+ " ) \n"
+ " )\n"
+ " \\d\n"
+ " )++\n"
+ " (?:\n"
+ " (?:\\.0+)?0*\\ [-+]?0*\\3\\49(?:\\.0+)?0*\\ [-+]?0*\\5\\51(?:\\.0+)?0*$\n"
+ " |\n"
+ " \\ [-+]?0*\\3\\49(\\.?\\d*?)0*\\ [-+]?0*\\5\\51\\g\\{-1\\}(?:\\.0+)?0*$\n"
+ " |\n"
+ " (\\.?\\d*?)0*\\ [-+]?0*\\3\\49\\g\\{-1\\}(?:\\.0+)?0*\\ [-+]?0*\\5\\51$\n"
+ " \n"
+ " |\n"
+ " \\.?\n"
+ " (?:\n"
+ " (?=\\d\\d((?&d))((\\g\\{-2\\}?+\\.?)\\d))\n"
+ " (?=\\d(\\S*?\\g\\{-4\\}\\g\\{-2\\}))\n"
+ " (?=0\\g\\{-1\\}9|1\\g\\{-1\\}8|2\\g\\{-1\\}7|3\\g\\{-1\\}6|4\\g\\{-1\\}5|5\\g\\{-1\\}4|6\\g\\{-1\\}3|7\\g\\{-1\\}2|8\\g\\{-1\\}1|9\\g\\{-1\\}0)\n"
+ " \\d\n"
+ " (?=\\S*?(\\g\\{-5\\}(\\g\\{-5\\})))\n"
+ " )*+\n"
+ " (?=\\d(\\g\\{-3\\}|(?&d)\\.?))\n"
+ " (?=1\\g\\{-1\\}9|2\\g\\{-1\\}8|3\\g\\{-1\\}7|4\\g\\{-1\\}6|5\\g\\{-1\\}5|6\\g\\{-1\\}4|7\\g\\{-1\\}3|8\\g\\{-1\\}2|9\\g\\{-1\\}1)\n"
+ " \\d0*\\ [-+]?0*\\3\\49\\.?0*\\ [-+]?0*\\5\\51\\g\\{-2\\}?+\\.?\\d0*$\n"
+ " )\n"
+ "|\n"
+ " (?=[^-]\\S*\\ -\\S*\\ [^-]\\S*|-\\S*\\ [^-]\\S*\\ -)\n"
+ " [-+]?(?:0\\B)*+\n"
+ " (?=\n"
+ " (?(?!\\S+\\ [-+]?(?:0\\B)*+\\3\\.?(?!(?!(?&e))))\n"
+ " (?=\\3\\5\\2\\b)\n"
+ " |\n"
+ " (?=\\d*(\\S*\\ (?(?=.*+\\3)\\S+\\ )[-+]?(?:0\\B)*+)\\d*?(\\4|\\6)\\b)\n"
+ " (?(?=10*\\2\\b)\n"
+ " 1(?:0(?=\\d*\\75(\\g\\{-1\\}?+9)))*?\n"
+ " \\2\\b\\75\\g\\{-1\\}?+\\76\\b\n"
+ " |\n"
+ " (?:(\\d)(?=\\d*\\75(\\g\\{-1\\}?+\\g\\{-2\\})))*+\n"
+ " (?=\\d(\\d*\\75\\g\\{-2\\}?+))\n"
+ " (?=1\\g\\{-1\\}0|2\\g\\{-1\\}1|3\\g\\{-1\\}2|4\\g\\{-1\\}3|5\\g\\{-1\\}4|6\\g\\{-1\\}5|7\\g\\{-1\\}6|8\\g\\{-1\\}7|9\\g\\{-1\\}8)\n"
+ " \\d\n"
+ " (?:0(?=\\d*\\75\\g\\{-2\\}?+\\d(\\g\\{-1\\}?+9)))*?\n"
+ " \\2\\b\\75\\g\\{-3\\}?+\\d\\g\\{-1\\}?+\\76\\b\n"
+ " )\n"
+ " )\n"
+ " )\n"
+ " \\1\n"
+ " (?:\n"
+ " (?=\\.?(\\d)\\S*\\ [-+]?(?:0\\B)*+\\3((\\g\\{-2\\}?+\\.?)\\d)\\S*\\ [-+]?(?:0\\B)*+\\5((\\g\\{-2\\}?+\\.?)\\d))\n"
+ " \\.?\n"
+ " (?(?=(?!\n"
+ " \\S*\\ [-+]?(?:0\\B)*+\\3\\83\\.?\n"
+ " (?<e>\n"
+ " (?:\n"
+ " (?=\\d\\.?\\d(?<f>\\S*?\\ [-+]?(?:0\\B)*\\5\\85?+)((\\g\\{-2\\}?+\\.?)\\d))\n"
+ " (?=\\d(\\S*?\\g\\{-4\\}\\g\\{-2\\}))\n"
+ " (?=0\\g\\{-1\\}9|1\\g\\{-1\\}8|2\\g\\{-1\\}7|3\\g\\{-1\\}6|4\\g\\{-1\\}5|5\\g\\{-1\\}4|6\\g\\{-1\\}3|7\\g\\{-1\\}2|8\\g\\{-1\\}1|9\\g\\{-1\\}0)\n"
+ " \\d\\.?\n"
+ " (?=\\S*?(\\g\\{-5\\}\\g\\{-4\\}))\n"
+ " )*+\n"
+ " (?=\\d(\\g\\{-2\\}\\.?|(?&f)\\.?))\n"
+ " (?=[5-9]\\g\\{-1\\}[5-9]|1\\g\\{-1\\}9|2\\g\\{-1\\}[89]|3\\g\\{-1\\}[7-9]|4\\g\\{-1\\}[6-9]|6\\g\\{-1\\}4|7\\g\\{-1\\}[34]|8\\g\\{-1\\}[2-4]|9\\g\\{-1\\}[1-4])\n"
+ " ){0}\n"
+ " (?&e)\n"
+ " ))\n"
+ " (?=\\d(\\S*\\ [-+]?(?:0\\B)*\\3\\84)\\d(\\S*\\ [-+]?(?:0\\B)*\\5\\86))\n"
+ " (?=\n"
+ " (?:2\\g\\{-2\\}1|3\\g\\{-2\\}2|4\\g\\{-2\\}3|5\\g\\{-2\\}4|6\\g\\{-2\\}5|7\\g\\{-2\\}6|8\\g\\{-2\\}7|9\\g\\{-2\\}8|0\\g\\{-2\\}9)\\g\\{-1\\}1\n"
+ " |(?:3\\g\\{-2\\}1|4\\g\\{-2\\}2|5\\g\\{-2\\}3|6\\g\\{-2\\}4|7\\g\\{-2\\}5|8\\g\\{-2\\}6|9\\g\\{-2\\}7|0\\g\\{-2\\}8|1\\g\\{-2\\}9)\\g\\{-1\\}2\n"
+ " |(?:4\\g\\{-2\\}1|5\\g\\{-2\\}2|6\\g\\{-2\\}3|7\\g\\{-2\\}4|8\\g\\{-2\\}5|9\\g\\{-2\\}6|0\\g\\{-2\\}7|1\\g\\{-2\\}8|2\\g\\{-2\\}9)\\g\\{-1\\}3\n"
+ " |(?:5\\g\\{-2\\}1|6\\g\\{-2\\}2|7\\g\\{-2\\}3|8\\g\\{-2\\}4|9\\g\\{-2\\}5|0\\g\\{-2\\}6|1\\g\\{-2\\}7|2\\g\\{-2\\}8|3\\g\\{-2\\}9)\\g\\{-1\\}4\n"
+ " |(?:6\\g\\{-2\\}1|7\\g\\{-2\\}2|8\\g\\{-2\\}3|9\\g\\{-2\\}4|0\\g\\{-2\\}5|1\\g\\{-2\\}6|2\\g\\{-2\\}7|3\\g\\{-2\\}8|4\\g\\{-2\\}9)\\g\\{-1\\}5\n"
+ " |(?:7\\g\\{-2\\}1|8\\g\\{-2\\}2|9\\g\\{-2\\}3|0\\g\\{-2\\}4|1\\g\\{-2\\}5|2\\g\\{-2\\}6|3\\g\\{-2\\}7|4\\g\\{-2\\}8|5\\g\\{-2\\}9)\\g\\{-1\\}6\n"
+ " |(?:8\\g\\{-2\\}1|9\\g\\{-2\\}2|0\\g\\{-2\\}3|1\\g\\{-2\\}4|2\\g\\{-2\\}5|3\\g\\{-2\\}6|4\\g\\{-2\\}7|5\\g\\{-2\\}8|6\\g\\{-2\\}9)\\g\\{-1\\}7\n"
+ " |(?:9\\g\\{-2\\}1|0\\g\\{-2\\}2|1\\g\\{-2\\}3|2\\g\\{-2\\}4|3\\g\\{-2\\}5|4\\g\\{-2\\}6|5\\g\\{-2\\}7|6\\g\\{-2\\}8|7\\g\\{-2\\}9)\\g\\{-1\\}8\n"
+ " |(?:0\\g\\{-2\\}1|1\\g\\{-2\\}2|2\\g\\{-2\\}3|3\\g\\{-2\\}4|4\\g\\{-2\\}5|5\\g\\{-2\\}6|6\\g\\{-2\\}7|7\\g\\{-2\\}8|8\\g\\{-2\\}9)\\g\\{-1\\}9\n"
+ " |(\\d)\\g\\{-3\\}0\\g\\{-2\\}\\g\\{-1\\}\n"
+ " |(\\d)\\g\\{-4\\}\\g\\{-1\\}\\g\\{-3\\}0\n"
+ " )\n"
+ " |\n"
+ " (?=\\d((?-5))\\d((?-5)))\n"
+ " (?= \n"
+ " (?:2\\g\\{-2\\}0|3\\g\\{-2\\}1|4\\g\\{-2\\}2|5\\g\\{-2\\}3|6\\g\\{-2\\}4|7\\g\\{-2\\}5|8\\g\\{-2\\}6|9\\g\\{-2\\}7|0\\g\\{-2\\}8|1\\g\\{-2\\}9)\\g\\{-1\\}1\n"
+ " |(?:3\\g\\{-2\\}0|4\\g\\{-2\\}1|5\\g\\{-2\\}2|6\\g\\{-2\\}3|7\\g\\{-2\\}4|8\\g\\{-2\\}5|9\\g\\{-2\\}6|0\\g\\{-2\\}7|1\\g\\{-2\\}8|2\\g\\{-2\\}9)\\g\\{-1\\}2\n"
+ " |(?:4\\g\\{-2\\}0|5\\g\\{-2\\}1|6\\g\\{-2\\}2|7\\g\\{-2\\}3|8\\g\\{-2\\}4|9\\g\\{-2\\}5|0\\g\\{-2\\}6|1\\g\\{-2\\}7|2\\g\\{-2\\}8|3\\g\\{-2\\}9)\\g\\{-1\\}3\n"
+ " |(?:5\\g\\{-2\\}0|6\\g\\{-2\\}1|7\\g\\{-2\\}2|8\\g\\{-2\\}3|9\\g\\{-2\\}4|0\\g\\{-2\\}5|1\\g\\{-2\\}6|2\\g\\{-2\\}7|3\\g\\{-2\\}8|4\\g\\{-2\\}9)\\g\\{-1\\}4\n"
+ " |(?:6\\g\\{-2\\}0|7\\g\\{-2\\}1|8\\g\\{-2\\}2|9\\g\\{-2\\}3|0\\g\\{-2\\}4|1\\g\\{-2\\}5|2\\g\\{-2\\}6|3\\g\\{-2\\}7|4\\g\\{-2\\}8|5\\g\\{-2\\}9)\\g\\{-1\\}5\n"
+ " |(?:7\\g\\{-2\\}0|8\\g\\{-2\\}1|9\\g\\{-2\\}2|0\\g\\{-2\\}3|1\\g\\{-2\\}4|2\\g\\{-2\\}5|3\\g\\{-2\\}6|4\\g\\{-2\\}7|5\\g\\{-2\\}8|6\\g\\{-2\\}9)\\g\\{-1\\}6 \n"
+ " |(?:8\\g\\{-2\\}0|9\\g\\{-2\\}1|0\\g\\{-2\\}2|1\\g\\{-2\\}3|2\\g\\{-2\\}4|3\\g\\{-2\\}5|4\\g\\{-2\\}6|5\\g\\{-2\\}7|6\\g\\{-2\\}8|7\\g\\{-2\\}9)\\g\\{-1\\}7\n"
+ " |(?:9\\g\\{-2\\}0|0\\g\\{-2\\}1|1\\g\\{-2\\}2|2\\g\\{-2\\}3|3\\g\\{-2\\}4|4\\g\\{-2\\}5|5\\g\\{-2\\}6|6\\g\\{-2\\}7|7\\g\\{-2\\}8|8\\g\\{-2\\}9)\\g\\{-1\\}8\n"
+ " |(?:0\\g\\{-2\\}0|1\\g\\{-2\\}1|2\\g\\{-2\\}2|3\\g\\{-2\\}3|4\\g\\{-2\\}4|5\\g\\{-2\\}5|6\\g\\{-2\\}6|7\\g\\{-2\\}7|8\\g\\{-2\\}8|9\\g\\{-2\\}9)\\g\\{-1\\}9\n"
+ " |(?:1\\g\\{-2\\}0|2\\g\\{-2\\}1|3\\g\\{-2\\}2|4\\g\\{-2\\}3|5\\g\\{-2\\}4|6\\g\\{-2\\}5|7\\g\\{-2\\}6|8\\g\\{-2\\}7|9\\g\\{-2\\}8|0\\g\\{-2\\}9)\\g\\{-1\\}0\n"
+ " )\n"
+ " )\n"
+ " \\d\n"
+ " )++\n"
+ " (?:\n"
+ " (?:\\.0+)?0*\\ [-+]?0*\\3\\83(?:\\.0+)?0*\\ [-+]?0*\\5\\85(?:\\.0+)?0*$\n"
+ " |\n"
+ " (\\.?\\d*?)0*\\ [-+]?0*\\3\\83\\g\\{-1\\}(?:\\.0+)?0*\\ [-+]?0*\\5\\85$\n"
+ " |\n"
+ " (\\.?\\d*?)0*\\ [-+]?0*\\3\\83\\ [-+]?0*\\5\\85\\g\\{-1\\}(?:\\.0+)?0*$\n"
+ " |\n"
+ " \\.?0*\\ [-+]?(?:0\\B)*+\\3\\83\\.?\n"
+ " (?:\n"
+ " (?=\\d\\d((?&f))((\\g\\{-2\\}?+\\.?)\\d))\n"
+ " (?=\\d(\\S*?\\g\\{-4\\}\\g\\{-2\\}))\n"
+ " (?=0\\g\\{-1\\}9|1\\g\\{-1\\}8|2\\g\\{-1\\}7|3\\g\\{-1\\}6|4\\g\\{-1\\}5|5\\g\\{-1\\}4|6\\g\\{-1\\}3|7\\g\\{-1\\}2|8\\g\\{-1\\}1|9\\g\\{-1\\}0)\n"
+ " \\d\n"
+ " (?=\\S*?(\\g\\{-5\\}(\\g\\{-5\\})))\n"
+ " )*+\n"
+ " (?=\\d(\\g\\{-3\\}|(?&f)\\.?))\n"
+ " (?=1\\g\\{-1\\}9|2\\g\\{-1\\}8|3\\g\\{-1\\}7|4\\g\\{-1\\}6|5\\g\\{-1\\}5|6\\g\\{-1\\}4|7\\g\\{-1\\}3|8\\g\\{-1\\}2|9\\g\\{-1\\}1)\n"
+ " \\d0*\\ [-+]?0*\\5\\85\\g\\{-2\\}?+\\.?\\d0*$\n"
+ " ) \n"
+ ")";
final String string = "0 0 0\n"
+ "-1 0 -1\n"
+ "1 0 -1\n"
+ "-1 100 99\n"
+ "1 99 1000\n"
+ "-10.000 0.0001 -9.9999\n"
+ "-234434.943279 9099898.9044 8865463.961121";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.COMMENTS);
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