java正则表达式反向循环匹配

时间:2016-09-28 02:26:25

标签: java regex

我想在java中匹配特定文本的正则表达式模式。在匹配时我需要以相反的顺序找到匹配。

示例:

Expected output  --    1st match --->[green]
             2nd match --->[red]
             3rd match --->[blue]

但我希望匹配顺序相反。

{{1}}

请帮助如何形成正则表达式以实现预期的输出。

2 个答案:

答案 0 :(得分:0)

Reverse regular expression in Java讨论了这个主题,我在那里发布了一个解决方案,为方便起见,这里添加了一个解决方案。

如果有人对Java解决方案感兴趣,我实现了一个库就可以做到这一点。 https://github.com/vsch/reverse-regex

处理所有有效的Java regex构造,并提供实用程序类来包装模式,匹配器和输入以进行反向搜索,以处理所有需要的映射和反转。

答案 1 :(得分:0)

假设您已遵守正则表达式日期"

     ArrayList<String> strings = new ArrayList<>();
            Matcher foo = date.matcher("foo");
            while (foo.matches()) {
                strings.add(foo.group());
            }
            Collections.reverse(strings);