java – 正则表达式以相反的顺序提取文本,直到第3个字符实例

前端之家收集整理的这篇文章主要介绍了java – 正则表达式以相反的顺序提取文本,直到第3个字符实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个格式为XXXX_YYYY_YYYYYYY_YYYYYYZZZZ的字符串

如何从后向提取字符串,直到击中thrid _(下划线).
提取值:YYYY_YYYYYYY_YYYYYYZZZZ

我试过这个((?:_ [^ _] *){3})$,它似乎在开头使用额外的_,我可以用Java删除它.

有什么方法可以让我在开始时得到_.

解决方法

像这样:
String line = "XXXX_YYYY_YYYYYYY_YYYYYYZZZZ";

        Pattern p = Pattern.compile("([^_]+(?:_[^_]*){2})$");
        Matcher m = p.matcher(line);
        if(m.find()) {
            System.out.println(m.group(1));
        }

只需将“三次”{3}分成一个没有_的实例和两个需要它的实例.

猜你在找的Java相关文章