基本上,我想搜索某些内容并获取一个捕获组,然后忽略搜索并获取与该捕获组匹配的结果。
因此,如果我有这段文字:
apples are good
bananas are bad
oranges are good
I want oranges
I want bananas
I want apples
我想搜索
(\w+) are good
,然后搜索I want \1
以获得I want apples
和I want oranges
。我将如何在一个表达式中做到这一点?
(不好意思的解释很抱歉)
最佳答案
这样做:
/.*?(\w+?)\sare\sgood.*?(\w+?)\sare\sgood.*(I\swant\s(\1|\2)).*(I\swant\s(\1|\2))/s
据我所知,它仅适用于所提供的文本,所以有点hacky,据我所知,没有一种方法可以使用单个正则表达式为“好”的每次出现抓住所有“我想要的”事件。