У меня есть этот текст: Retailer-ul Amazon foloseste metode severe pentru a-si descuraja etc. angajatii din depozite sa nu mai fure din produse. Pe ecrane li se arata siluete de angajati care au furat produse, li se spune ce au furat si cat valorau produsele, aparand si mentiunea "arestat" sau "concediat", scrie Bloomberg. Unii spun ca... and so on
и я пытаюсь заменить все строки, которые являются аббревиатурами внутри Fraze, так, например, etc.
это аббревиатура, потому что это следующее слово angajatii
начинается с строчная буква, в отличие от produse.
, которая является окончанием фразы, потому что следующее слово Pe
начинается с прописной буквы, и я не хочу ее удалять.PHP строка матча preg_replace, но заменить только часть его
У меня есть этот код $subject = preg_replace('~\b[a-z]+\.\s[a-z]~', '', $subject);
, который соответствует каждой аббревиатуре с .
после него и пространства (\s
), а затем строчной буква [a-z]
(например. descuraja etc. angajatii
превращается в descuraja ngajatii
вместо descuraja angajatii
). Я не хочу заменять строчную букву следующего слова. Я как-то не могу избежать его замены. Как я могу сохранить один и тот же шаблон соответствия, но вместо него следует заменить только аббревиатуру, точку и пробел? Спасибо.
[ '\ B [A-Z] + \. \ S (? = [А-г])'] (https://regex101.com/r/mM5qX6/1)? –
@ WiktorStribiżew чувак, вы рок, спасибо, он работает, можете ли вы представить его в качестве ответа и кратко объяснить, почему добавление (? =) Работает? – southpaw93