Я хочу, чтобы разобрать вход с условием:Java: извлечение строки из ввода, используя регулярное выражение
- найти
<AD(1 to n)>
и - получить строку в
<AD> to </AD>
Ниже мой код и ввода текста , Но я не ожидаю выхода. выход я получаю, как показано ниже,
[T, > Primary , ddress , /, T, >, > Primary , ddress Line , ~Primary , ddress Line , ~Primary , ddress Line , ~Primary , ddress Line , ~City~State~Zip Code~Country, /, >; , T, > Office , ddress , /, T, >, > Primary , ddress Line , ~Primary , ddress Line , ~Primary , ddress Line , ~Primary , ddress Line , ~City~State~Zip Code~Country, /, >; , T, > Home , ddress , /, T, >, > Primary , ddress Line , ~Primary , ddress Line , ~Primary , ddress Line , ~Primary , ddress Line , ~City~State~Zip Code~Country, /, >]
public class TestProject {
public static void main(String[] args) {
String address ="<AT1> Primary Address </AT1><AD1> Primary Address Line 1 ~Primary Address Line 2 ~Primary Address Line 3~Primary Address Line 4~City~State~Zip Code~Country</AD1>;\n"
+ "<AT2> Office Address </AT2><AD2> Primary Address Line 1 ~Primary Address Line 2 ~Primary Address Line 3~Primary Address Line 4~City~State~Zip Code~Country</AD2>;\n"
+ "<AT3> Home Address </AT3><AD2> Primary Address Line 1 ~Primary Address Line 2 ~Primary Address Line 3~Primary Address Line 4~City~State~Zip Code~Country</AD2>";
System.out.println(captureValues(address));
}
public static Pattern ptn = Pattern.compile("[^<AD0-9]+");
public static List<String> captureValues(String address)
{
Matcher mtch = ptn.matcher(address);
List<String> ips = new ArrayList<String>();
while(mtch.find())
{
ips.add(mtch.group());
}
return ips;
}
}
Спасибо ........... – user2488578