【发布时间】:2015-02-11 11:09:38
【问题描述】:
我需要字符串示例的最后一个字母字符:ABRACADABRA123456。正则表达式 [a-zA-Z](?=\d+) 在所有情况下都给我匹配。如何更改(反向)表达式以在 java 方法中使用它,例如:"ABRACADABRA123456".replaceAll(<inverse-regex>,"")?
输入:ABRACADABRA123456
使用:"ABRACADABRA123456".replaceAll(...)
OUTPUT:A(字符串的最后一个字母字符)
已解决:System.out.println("ABRACADABRA123456".replaceAll("([\\D]+)([a-zA-Z](?=\\d+))([\\d]+)","$2")));
【问题讨论】:
-
你的预期输出是什么?
-
预期在括号中输出一个字母字符:
ABRACADABR(A)123456 -
@usmandam 如果原始正则表达式是“一些数字前的字母”,那么“逆”是什么? 在一些数字之后的字母?一个字母不是后跟数字?一些字母前的数字?我可以继续...
标签: java regex replaceall lookaround character-class