正则表达式如何选择“.”之后的任何字符

RegEx how to select any character after a "."

本文关键字:之后 任何 字符 何选择 选择 正则表达式      更新时间:2023-09-26

我有一个看起来像这样的字符串"123456fd.003g",我只想要"."之后的所有内容,在这种情况下是"003g"

[^./]+$

我使用上面的正则表达式,但不起作用。

使用捕获组,您的正则表达式将是:

''.([^.]*)$

不要使用正则表达式来完成此任务,请使用String#split(需要正则表达式):

String splitted = myStr.split("''.");
String myStr = splitted[1];

请注意,建议在拆分之前检查字符串是否实际包含"."。

如果你坚持使用正则表达式,

这样做:

'.(.+)

第一组将包含.之后的字符串

这可以做到:

private static final Pattern AFTER_DOT = Pattern.compile("[^.]+''.([^.]+)");
//
final Matcher m = AFTER_DOT.matcher(input);
return m.matches() ? m.group(1) : null;

假设输入中只有一个点!

相关文章: