regex 如何使用正则表达式删除字符串开头的数字模式

4jb9z9bj  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(122)

我有一个这样的字符串,“123.234.567删除这个字符串中的数字”。输出应该是“删除这个字符串中的数字”。
此字符串中的数字遵循模式xx.xxx.xxxxx.(数字后跟句点),但句点的数量和每个句点之间的数字不是静态的。这里有几个例子。xx.xxxxxx.xxxx.xxxxxxxx. xxxxxxxx. xxxxxxx,x. xx.xxxxxx,etc.
如何在正则表达式中删除这些数字和句点?
到目前为止,我有这样的东西:

patt = re.compile('(\s*)[0-9].[0-9]*.[0-9]*(\s*)')

字符串
但这只适用于特定的格式。

ecfdbz9o

ecfdbz9o1#

  • 使用^匹配字符串的开头。
  • 使用\d+匹配任意数量的数字。
  • 使用\.匹配文字.字符
  • \.\d+()放在一个组中,这样你就可以量化它来匹配任何数量的()
  • 使用re.sub()将其替换为空字符串以删除匹配项。
  • 使用一个原始字符串,这样你就可以在正则表达式中放置文字反斜杠,而不必对它们进行转义。
patt = re.compile(r's*^\d+(?:\.\d+)+\s*')
string = patt.sub('', string)

字符串

相关问题