任何人都可以告诉我如何匹配两个点之间最接近的模式。例如,我有一个字符串“你好。你好。你好吗。”,说我要提取包括“是”的句子。所以我写了正则表达式“。(。+?are。+?\。)”。但是,我只能得到“你好。你好吗?”而不是“你好吗”。任何人都可以帮助解决问题吗?非常感谢。
答案 0 :(得分:1)
.
(元字符)包括.
(字符)。您可以通过排除.
字符来获得想要的结果:
\.[^.]*?are[^.]*?\.
如果您想从匹配中排除第一个句点,请在PCRE中使用{p> (?<=\.)[^.]*?are[^.]*?\.
或\.\K[^.]*?are[^.]*?\.
。