RegEx如何在"之后选择任何字符。"

时间:2014-04-08 05:59:48

标签: java javascript regex

我的字符串看起来像"123456fd.003g",我只想要"."之后的所有内容"003g"

[^./]+$

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

4 个答案:

答案 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;

假设输入中只有一个点!