2024-04-26 18:24:36 发布
网友
我有一个字符串如下:
26 (passengers:22 crew:4)
或者
32 (passengers:? crew: ?)
是的。我要做的是把代码分开,这样只提取代表乘客和机组人员数量的数字。如果是个问号,我会找一个“”来代替它。你知道吗
我知道我可以用字符串.替换("?",“”)替换?但是,如何分别提取机组人员或乘客的数字字符?数字可能从两位数到三位数不等,因此我无法从字符串中或以特定间隔分割最后几个字符。你知道吗
提前谢谢
与之匹配的正则表达式是:
r'\(\s*passengers:\s*(\d{1,3}|\?)\s+ crew:\s*(\d{1,3}|\?)\s*\)'
加入了一些额外的空格容差。你知道吗
结果:
>>> import re >>> numbers = re.compile(r'\(\s*passengers:\s*(\d{1,3}|\?)\s+ crew:\s*(\d{1,3}|\?)\s*\)') >>> numbers.search('26 (passengers:22 crew:4)').groups() ('22', '4') >>> numbers.search('32 (passengers:? crew: ?)').groups() ('?', '?')
与之匹配的正则表达式是:
加入了一些额外的空格容差。你知道吗
结果:
相关问题 更多 >
编程相关推荐