У меня есть следующий текст:
Генеральный прокурор Уильям Барр сказал, что объем скомпрометированной информации «ошеломляет» и является крупнейшим нарушением в истории США. «Эта кража не только нанесла значительный финансовый ущерб Эквифакс, но вторгся в частную жизнь многих, миллионов американцев и наложил на них значительные расходы и бремя, поскольку они должны были принять меры, чтобы защитить себя от кражи личных данных », - сказал г-н Барр.
Я хочу сопоставлять текст в цитате, однако цитата должна быть длиной не менее 5 слов, в противном случае ее следует игнорировать.
В настоящее время я использую следующее регулярное выражение:
(?<=[\\“|\\"])[A-Za-z0-9\.\-][A-Za-z\s,:\\’]+(?=[\”|\"])
Однако это будет включите цитату «ошеломляющий», которая составляет всего 1 слово, поэтому ее следует игнорировать.
Я понимаю, что мог бы выполнить sh, повторив эту часть регулярного выражения 5 раз:
[A-Za-z\s,:\\’]+[A-Za-z\s,:\\’]+[A-Za-z\s,:\\’]+[A-Za-z\s,:\\’]+[A-Za-z\s,:\\’]+
Однако мне интересно, есть ли более короткий и более краткий способ добиться этого? Возможно, вынудив \s
in []
появиться хотя бы 5 раз?
Спасибо