用于将数字尾部与任何字符串分开的正则表达式?



我很想找到正则表达式的方法来解决我的问题,将数字尾部与任何字符的前导字符串分开。我已经处理过字符串处理的类似问题,但我认为 RegEx 可能会为我提供更少的努力,并且对未来有用。

我有一个有点复杂的字符串,末尾有数字:

'TxAnt0Standard_deviation_peak_variation'
'MeasCfg5Seq1TxAnt2MaxDiff_phase2'
'MeasCfg6Seq1TxAnt0MinAmpl_error_ant10'

等。

我需要将数字尾部与其他部分分开:

TxAnt0Standard_deviation_peak_variation'''

'MeasCfg5Seq1TxAnt2MaxDiff_phase''2'

'MeasCfg6Seq1TxAnt0MinAmpl_error_ant''10'

我找到了一个使用 re.match(( 方法的示例。我正在尝试这样的事情:

match = re.match(r"(.+)([0-9]*)", limitName, re.I)
items=tuple()
if match:
items = match.groups()
basis = items[0] #res: whole string
tail =items[1] #res: ''

这反过来又不做任务,我得到的是整根弦,还有一个空的刺痛。

您可以使用

match = re.match(r"(.*D)?(d*)$", limitName)

请参阅正则表达式演示。请注意,re.match在字符串的开头查找匹配项,这就是我不使用^锚点的原因。

图案详细信息

  • (.*D)?- 一个可选的捕获组,尽可能多地匹配除换行字符以外的任何 0 个或多个字符,直到最后一个非数字字符,后跟...
  • (d*)- 捕获组 #2:任意 0 位或更多位数字
  • $- 字符串的结尾。

数字没有大小写,您不需要re.I修饰符。

相关内容

  • 没有找到相关文章

最新更新