Используйте регулярное выражение, чтобы извлечь целое предложение с десятичным числом

Я пытаюсь использовать регулярные выражения, чтобы извлечь предложение, содержащее слово "R&D". Мой код

**\s[^.?!]*R&D[^.?!]*[?.!]**

Я ожидаю получить The third quarter R&D spending was 2.4 million, up approximately 100,000 from Q2 levels. SG&A expenses were 3.4 million, down 200,000 from Q2.

я получил The third quarter R&D spending was 2.

1 ответ

Вы можете окружить R&D с [\w\W] чтобы соответствовать всем буквенно-цифровым и не буквенно-цифровым символам:

import re
s = "The third quarter R&D spending was 2.4 million, up approximately 100,000 from Q2 levels. SG&A expenses were 3.4 million, down 200,000 from Q2."
sentence = re.findall('^[\w\W]+R&D[\w\W]+$', s)[0]

Выход:

'The third quarter R&D spending was 2.4 million, up approximately 100,000 from Q2 levels. SG&A expenses were 3.4 million, down 200,000 from Q2.'
Другие вопросы по тегам