【发布时间】:2015-01-14 09:51:16
【问题描述】:
我需要通过正则表达式将字符串拆分为多个部分。
字符串是:AA2 DE3 或 AA2,我需要这个 2。
String code = "AA2 DE3";
String[] parts = code.split("^(AA(\\d)+){1}( )?(\\w*)?$");
这里parts的长度为0。
我试过了
String[] parts = code.split("^((AA){1}(\\d)+){1}( )?(\\w*)?$");
但也是 0。
看起来像错误的正则表达式。虽然它在 PHP 中运行良好。
编辑
实际上我需要得到“AA”后面的数字,但后面可能会有额外的单词。
【问题讨论】:
-
您希望结果是一个包含单个字符串
2的数组? -
为什么
split?...简单的正则表达式AA(\d+)返回出现在AA之后的数字。 -
因为 split 需要正则表达式作为参数:docs.oracle.com/javase/6/docs/api/java/lang/…
-
在这里使用像这样的匹配器循环stackoverflow.com/questions/15136209/…
-
@koral 如果它需要正则表达式并不意味着你必须总是使用它。