Я пытаюсь создать шаблон регулярного выражения, который удаляет слова длиной менее 4 символов.Подвох заключается в том, что любые специальные символы (прежде всего:! @ # $% ^ & * ().,;?) Прикреплены к слову, например, "age?"не будет соответствовать условию удаления, так что "привет !!", "ты?", "привет, мальчик!"все должны быть сохранены из входной строки.Для иллюстрации:
string1='my name is jen!'
Я попробовал регулярное выражение,
regex1=re.compile(r'\b.{,3}\s')
и связал его с re.sub:
string2=re.sub(regex1,' ',string1)
, и это прекрасно работает, кроме 1Я должен подставить шаблон с пробелом, и иногда это нужно удалить вручную, и 2. Это не работает, если 3 слова или меньше слова находятся в конце строки.
string1='my name is jen'
re.sub(regex1,' ',string1)
out: ' name jen'
Есть ли лучшее регулярное выражение, которое можно использовать?Должен ли я вместо этого попытаться сохранить «слова», состоящие из 4 или более символов?