如何用正则表达式统计字符串开头的零?re.search返回None求助
解决开头数字0的统计问题
你的正则表达式^["0"]+出错的原因很明确:这个模式是匹配字符串开头的双引号或数字0的连续序列,但你的输入是纯数字字符串,开头没有双引号,所以完全匹配不到,返回None。
正确的正则写法
直接用^0+就能精准匹配开头连续的0,代码示例:
import re num_str = "00012345" result = re.search(r'^0+', num_str) if result: zero_count = len(result.group()) print(f"开头0的数量:{zero_count}") else: print("字符串开头没有0")
^:锚定字符串的起始位置0+:匹配一个或多个连续的数字0
非正则的替代方案
如果不想用正则,直接遍历计数更直观:
num_str = "00012345" zero_count = 0 for char in num_str: if char == '0': zero_count += 1 else: break # 遇到非0字符就停止计数 print(f"开头0的数量:{zero_count}")
内容的提问来源于stack exchange,提问作者Оксана Нефедова
相关产品推荐
相关产品推荐

