多个字符串的正则表达式

时间:2015-11-09 12:57:15

标签: java regex

我需要使用正则表达式在一个字符串中开始匹配并在另一个字符串中结束匹配。例如,给定正则表达式:

[A-Z]+[0-9]+

和两个字符串:

String s1 = "aaaABC";
String s2 = "1245aaa";

应该可以这样做:

regex.feed(s1);  // returns the start of the match at 3 and end at 5
regex.feed(s2);  // returns continuation of the match at 0 and end at 4

无法完成两个字符串的连接。

任何现成的库都可以吗?关于如何制作自己的想法?

1 个答案:

答案 0 :(得分:2)

  

任何现成的库都可以吗?

AFAIK,不。这是一个非常不寻常的要求。

  

关于如何制作自己的想法?

显而易见的解决方案是连接字符串。

但另一种解决方案可能是创建一个自定义CharSequence类,它传递一个字符串后跟第二个字符串的字符。然后传递该类的实例作为Pattern.matcher(...)的参数。

根据您的评论,您实际上想要搜索从XML DOM中提取的字符串的序列。实现有效支持此功能的CharSequence可能会带来一些挑战。