我必须在“ JJ”之间匹配字符串。以及第二个出现在后面的“,”。

例如:

In Mackintosh v. Watkins (1904) 1 C L J 31, Brett and Mookerjee, JJ.


所需的输出:Brett and Mookerjee

目前,我正在使用的匹配第一个“,”的JJ。

我的模式:

",.*.[^,]*JJ\b"

最佳答案

您可以使用环视或捕获组。


展望解决方案

(?<=, )[^,]*(?=,[^,]*JJ\b)



(?<=, )向后看,检查字符串是否以,开头
(?=,[^,]*JJ\b)向前看。检查字符串后是否跟随,,然后检查除,JJ之外的任何其他字符


Regex Demo
捕捉组

,([^,]*),[^,]*JJ\b


Regex Demo

在这里,捕获组1将包含字符串Brett and Mookerjee

07-24 09:38
查看更多