如何用正则匹配数字与NULL字符串并将NULL替换为0?
正则匹配与替换方案
匹配数字与NULL的正则
把你原有的正则修改为:
\s*Seconds_Past_Audit:\s*(?P<milliTime>\d*\.?\d+|NULL)
\d*\.?\d+负责匹配整数或小数形式的数字;|NULL新增了对NULL字符串的匹配;- 命名捕获组
milliTime可直接提取出你需要的内容(2或NULL)。
将NULL替换为0的实现
如果需要直接输出替换后的结果,可以结合正则匹配和替换操作:
终端用sed命令处理
sed -E 's/\s*Seconds_Past_Audit:\s*(NULL|\d*\.?\d+)/\1/; s/NULL/0/' your_file.txt
执行后输出:
2 0
用Python脚本处理
import re # 定义正则模式 pattern = r'\s*Seconds_Past_Audit:\s*(?P<milliTime>\d*\.?\d+|NULL)' # 读取目标文件 with open("your_file.txt", "r") as f: content = f.read() # 提取所有匹配项并替换NULL为0 matches = re.findall(pattern, content) output = "\n".join(["0" if item == "NULL" else item for item in matches]) print(output)
内容的提问来源于stack exchange,提问作者Confounder
相关产品推荐
相关产品推荐

