我需要字符串示例的最后一个字母字符:ABRACADABRA123456
。正则表达式[a-zA-Z](?=d+)
在所有情况下都匹配。如何更改(反转)表达式以在java方法中使用它,例如:"ABRACADABRA123456".replaceAll(<inverse-regex>,"")
?
输入:ABRACADABRA123456
用途:"ABRACADABRA123456".replaceAll(...)
输出:A
(字符串的最后一个字母字符)
决议:System.out.println("ABRACADABRA123456".replaceAll("([\D]+)([a-zA-Z](?=\d+))([\d]+)","$2")));
[a-zA-Z](?=d+)
与最后一个字母字符不匹配。
System.out.println("ABRACADABRA123456".replaceAll("([A-Za-z])(?=[^A-Za-z]*$)","($1)"));
只有在后面跟有任何非字母字符零次或多次直到最后一次时,上面的正则表达式才会捕获字母表。所以它只匹配最后一个字母表。
输出:
ABRACADABR(A)123456