我是使用正则表达式的新手。我有这样的字符串 - 3G Wireless我想删除所有以数字开头的单词 3G Wireless将变为 Wireless .
我想出了这个正则表达式来完成这项工作 -
>>> re.sub("\S*\d\S*", "", "3g wireless")
' wireless'
在这种情况下它会失败 -
>>> re.sub("\S*\d\S*", "", "RPG400")
''
我只想忽略以数字开头的单词。
请您参考如下方法:
\s* 考虑开头实际数字之前的任何空格。 \b 检查第一个单词。 此外,之后可以使用 strip() 删除剩余字符串开头和结尾的任何不需要的空格。
re.sub(r'\s*\b(\d+\w*)', '', "3g wireless").strip()
# 'wireless'
re.sub(r'\s*\b(\d+\w*)', '', "RPG400").strip()
# 'RPG400'
