Java reg模式捕获多个集合

时间:2014-09-06 10:12:32

标签: java regex

我的字符串值为X-Y-Z-A

从以下模式([a-zA-Z]-[a-zA-Z]),我能够捕获集X-YZ-A。但这还不够。

问:是否可以构建一个捕获集X-YY-ZZ-A的正则表达式?

3 个答案:

答案 0 :(得分:2)

是的,有可能,而不是匹配文本使用正向前瞻性正则表达式:

(?=([a-zA-Z]-[a-zA-Z]))

RegEx Demo

对于您的输入"X-Y-Z-A",它会给出以下3个匹配项:

  1. "X-Y"
  2. "Y-Z"
  3. "Z-A"

答案 1 :(得分:1)

要捕获重叠的字符,您需要将捕获组包含在lookbehind或lookahead中。

(?<=([A-Za-z]-[A-Za-z]))

DEMO

答案 2 :(得分:1)

(?=(\w-\w))

试试这个。看演示。

http://regex101.com/r/oC3nN4/12