从以下字符串开始:
和 worda1 worda2 ... wordan 和 wordb1 wordb2 ... wordbn
......不是字面意思,但意味着其他字也可以存在。这些词可以是'和'
我想捕获
wordb1 wordb2 wordbn
问题在于,到目前为止我写的正则表达式是我使用了\ w,然后匹配'和'并导致贪婪的捕获。由于需要捕获任意数量的单词,因此前瞻和后视不会起作用。
编辑:这是一个例子:
每个人都去了公园,没有人留在家里
应该捕获:
没有人留在家里
正则表达式无法硬编码短语"没有人留在家中",因为它需要捕获除"和"以外的任意字符序列。
更好:
那是早上,所有人都去了公园,没有人留在家里
应该捕获:
没有人留在家里
总体而言,我只想捕捉到第一个"和#34;,从右边开始。
我可以编写一些代码来执行此操作,但想知道是否有正则表达式来执行此操作。
我正在使用Python re,但对其他版本的正则表达式开放。
感谢您的帮助。
答案 0 :(得分:0)
这应该这样做:
/(?:.* and )?(.+)/
请注意,这与整行匹配,但捕获的匹配将是您想要的部分。一个工作示例是here。
但有几点需要注意: