Как искать первое регулярное выражение, когда мало случаев? - PullRequest
0 голосов
/ 22 октября 2019

Я не хочу извлекать текст между первой "Ананой" и первой точкой перед этим. Код работает, когда у меня есть только один «Ананас» в предложении, но не два.

Пример с предложением: «Привет. Я ненавижу яблоки. Я люблю Ананас. Но Ананас слишком дорог» и регулярное выражение: .*[.].*?(.*Ananas)

Если предложение только «Привет. Я ненавижу Яблоко. Я люблю Ананас.», Я извлекаю «Я люблю Ананас». Но с предложением «Привет. Я ненавижу Яблоки. Я люблю Ананас. Но Ананас слишком дорог ", я извлекаю второе вхождение" Но Ананас "

1 Ответ

0 голосов
/ 22 октября 2019

(?<=\.)[^.]*?Ananas

Это регулярное выражение использует положительный взгляд назад, чтобы утверждать наличие . перед поиском любых не . символов, вплоть до первого появления Ananas.

Если вы также хотите захватить ., используйте \.[^.]*?Ananas.

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...