Java正则表达式提取第n个组

Java正则表达式提取第n个组,java,regex,Java,Regex,我只需要提取以下内容的第一个匹配项: 输入(请忽略任何将其视为XML、使用XPath等的可能性-这只是一个示例): 纽约-纽约巴黎-纽约-米亚-迈阿密 正则表达式: (?si).*?(?:NYC\s-\s)([^<]*) (?si)。*?(?:NYC\s-\s)([^您可以使用以下正则表达式: (?si)(?:(?:NYC\s-\s)([^<]*).*?){n} (?si)(?:(?:NYC\s-\s)([^谢谢,但是当n=1时,这个正则表达式使find()有效两次。对于n=2

我只需要提取以下内容的第一个匹配项:

输入(请忽略任何将其视为XML、使用XPath等的可能性-这只是一个示例):

<代码>纽约-纽约巴黎-纽约-米亚-迈阿密 正则表达式:

(?si).*?(?:NYC\s-\s)([^<]*)

(?si)。*?(?:NYC\s-\s)([^您可以使用以下正则表达式:

(?si)(?:(?:NYC\s-\s)([^<]*).*?){n}

(?si)(?:(?:NYC\s-\s)([^谢谢,但是当n=1时,这个正则表达式使find()有效两次。对于n=2,它很好(只有一个find)。
(?si)(?:(?:NYC\s-\s)([^<]*).*?){n}