我的字符串看起来像"123456fd.003g"
,我只想要"."
之后的所有内容"003g"
。
[^./]+$
我使用上面的正则表达式但不起作用。
答案 0 :(得分:5)
使用捕获组,你的正则表达式将是:
\\.([^.]*)$
答案 1 :(得分:3)
请勿使用正则表达式执行此任务,请使用String#split
(需要正则表达式):
String splitted = myStr.split("\\.");
String myStr = splitted[1];
请注意,建议检查字符串是否实际包含“。”在分裂之前。
答案 2 :(得分:3)
如果您坚持使用正则表达式,
这样做:
\.(.+)
第一组将包含.
答案 3 :(得分:0)
这可以做到:
private static final Pattern AFTER_DOT = Pattern.compile("[^.]+\\.([^.]+)");
//
final Matcher m = AFTER_DOT.matcher(input);
return m.matches() ? m.group(1) : null;
假设输入中只有一个点!