Java 使用正则表达式

Java 使用正则表达式,java,regex,Java,Regex,我有一个字母数字的字符串,如下所示。我想将字母表提取到数组中。我已经编写了以下代码 String pro = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa"; String[] p = pro.split("^([0-9].*)$"); Pattern pattern = Pattern.compile("([0-9].*)([A-z].*)"); Matcher matcher = pattern.matcher(pro.toString()); while (matche

我有一个字母数字的字符串,如下所示。我想将字母表提取到数组中。我已经编写了以下代码

String pro = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa";
String[] p = pro.split("^([0-9].*)$");

Pattern pattern = Pattern.compile("([0-9].*)([A-z].*)");
Matcher matcher = pattern.matcher(pro.toString());
while (matcher.find())
{
    System.out.println(matcher.group());
}
for(String s: p)
{
    System.out.println(s);
}
System.out.println("End");
输出:

1a1a2aa3aaa4aaaa15aaaaa6aaaaaa
ENd
我甚至尝试使用基于正则表达式的拆分,但即使这样也不是真的。我认为我的正则表达式是错误的。我希望所有字母都在数组中

array[] = {'a', 'a', 'aa', 'aaa', 'aaaa', 'aaaaa', 'aaaaaa'}

如果您只想要字母字符,那么使用此表达式就没有意义了:
/([a-zA-Z]+)/g

您可能不希望在表达式中使用
^
$
,因为您希望的是匹配所有可能的匹配项
/g

这是一个在线演示:


如果您只想要字母字符,那么使用这个表达式就没有意义了:
/([a-zA-Z]+)/g

您可能不希望在表达式中使用
^
$
,因为您希望的是匹配所有可能的匹配项
/g

这是一个在线演示:


如果您只想要字母字符,那么使用这个表达式就没有意义了:
/([a-zA-Z]+)/g

您可能不希望在表达式中使用
^
$
,因为您希望的是匹配所有可能的匹配项
/g

这是一个在线演示:


如果您只想要字母字符,那么使用这个表达式就没有意义了:
/([a-zA-Z]+)/g

您可能不希望在表达式中使用
^
$
,因为您希望的是匹配所有可能的匹配项
/g

这是一个在线演示:


您可以在除字母字符以外的任何字符上使用以下
拆分

String s = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa";
String[] parts = s.split("[^a-zA-Z]+")

for (String m: parts) {
    System.out.println(m);
}
使用
Matcher
方法,可以执行以下操作

String s  = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa";

Pattern p = Pattern.compile("[a-zA-Z]+");
Matcher m = p.matcher(s);

List<String> matches = new ArrayList<String>();

while (m.find()) {
  matches.add(m.group());
}

System.out.println(matches); // => [a, a, aa, aaa, aaaa, aaaaa, aaaaaa]
String s=“1A1A2AA3AA4AAAA15AAAAA6AAAAAA”;
Pattern p=Pattern.compile(“[a-zA-Z]+”);
匹配器m=匹配器p;
列表匹配项=新的ArrayList();
while(m.find()){
匹配。添加(m.group());
}
System.out.println(匹配项);//=>[a,a,aa,aaa,aaa,aaa,aaa,aaaa]

您可以在除字母字符以外的任何字符上使用以下
拆分

String s = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa";
String[] parts = s.split("[^a-zA-Z]+")

for (String m: parts) {
    System.out.println(m);
}
使用
Matcher
方法,可以执行以下操作

String s  = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa";

Pattern p = Pattern.compile("[a-zA-Z]+");
Matcher m = p.matcher(s);

List<String> matches = new ArrayList<String>();

while (m.find()) {
  matches.add(m.group());
}

System.out.println(matches); // => [a, a, aa, aaa, aaaa, aaaaa, aaaaaa]
String s=“1A1A2AA3AA4AAAA15AAAAA6AAAAAA”;
Pattern p=Pattern.compile(“[a-zA-Z]+”);
匹配器m=匹配器p;
列表匹配项=新的ArrayList();
while(m.find()){
匹配。添加(m.group());
}
System.out.println(匹配项);//=>[a,a,aa,aaa,aaa,aaa,aaa,aaaa]

您可以在除字母字符以外的任何字符上使用以下
拆分

String s = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa";
String[] parts = s.split("[^a-zA-Z]+")

for (String m: parts) {
    System.out.println(m);
}
使用
Matcher
方法,可以执行以下操作

String s  = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa";

Pattern p = Pattern.compile("[a-zA-Z]+");
Matcher m = p.matcher(s);

List<String> matches = new ArrayList<String>();

while (m.find()) {
  matches.add(m.group());
}

System.out.println(matches); // => [a, a, aa, aaa, aaaa, aaaaa, aaaaaa]
String s=“1A1A2AA3AA4AAAA15AAAAA6AAAAAA”;
Pattern p=Pattern.compile(“[a-zA-Z]+”);
匹配器m=匹配器p;
列表匹配项=新的ArrayList();
while(m.find()){
匹配。添加(m.group());
}
System.out.println(匹配项);//=>[a,a,aa,aaa,aaa,aaa,aaa,aaaa]

您可以在除字母字符以外的任何字符上使用以下
拆分

String s = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa";
String[] parts = s.split("[^a-zA-Z]+")

for (String m: parts) {
    System.out.println(m);
}
使用
Matcher
方法,可以执行以下操作

String s  = "1a1a2aa3aaa4aaaa15aaaaa6aaaaaa";

Pattern p = Pattern.compile("[a-zA-Z]+");
Matcher m = p.matcher(s);

List<String> matches = new ArrayList<String>();

while (m.find()) {
  matches.add(m.group());
}

System.out.println(matches); // => [a, a, aa, aaa, aaaa, aaaaa, aaaaaa]
String s=“1A1A2AA3AA4AAAA15AAAAA6AAAAAA”;
Pattern p=Pattern.compile(“[a-zA-Z]+”);
匹配器m=匹配器p;
列表匹配项=新的ArrayList();
while(m.find()){
匹配。添加(m.group());
}
System.out.println(匹配项);//=>[a,a,aa,aaa,aaa,aaa,aaa,aaaa]

这还将匹配@'$和其他不一定是字母的特殊字符。它是基于数字的匹配这也会匹配像@'$和其他不一定是字母的特殊字符。它是基于数字的匹配这也会匹配像@'$和其他不一定是字母的特殊字符。它是基于数字的匹配这也会匹配像@'$和其他不一定是字母的特殊字符。我不知道你想做什么。在我看来,字母表就像a、b、c、d、e、
。如果您想使用unicode字符,请尝试使用unicode正则表达式。我猜您正在寻找术语:
字母字符
。我不确定您想做什么。在我看来,字母表就像a、b、c、d、e、
。如果您想使用unicode字符,请尝试使用unicode正则表达式。我猜您正在寻找术语:
字母字符
。我不确定您想做什么。在我看来,字母表就像a、b、c、d、e、。如果您想使用unicode字符,请尝试使用unicode正则表达式。我猜您正在寻找术语:
字母字符
。我不确定您想做什么。在我看来,字母表就像a、b、c、d、e、。如果您想使用unicode字符,请尝试使用unicode正则表达式。我猜您正在寻找术语:
字母字符