2016-08-15 5 views
1

Это легко удалить все цифры из следующего string:regex для удаления ЛЮБОЙ комбинации чисел/букв?

>>> string = "asprx12303 hello my 321 name is Tom 2323dsad843, 657a b879 843aa943 aa... 2ci 2ci" 
>>> modified = re.sub(r'\d+', '', string) 
>>> print(modified) 
'asprx hello my name is Tom dsad, a b aa aa... ci ci' 

Но я хочу, чтобы удалить все автономные цифры (например 321 сам по себе) и все комбинации букв и цифр в строке (например, 843aa943 и asprx12303) ,

Это то, что я до сих пор:

>>> modified2 = re.sub(r'\w+\d+', '', string) 
>>> print(modified2) 
' hello my name is Tom , a aa... 2ci 2ci' 

Таким образом, эти две модели работают очень хорошо, но я остался с 2ci в конце. Как я могу сделать всеохватывающее регулярное выражение для этой проблемы? Мое решение в порядке до сих пор, но не совсем то, что мне нужно.

ответ

7

Что-то вроде этого:

r'\w*[0-9]\w*' 

Это должно соответствовать любой непрерывный пробег символов слова, содержащие по крайней мере одну цифру.

Смежные вопросы