最近使用正则表达式拆分化学式,且拆分后的化学式要换行显示,于是用python正则表达式写了一个拆分字符串且拆分后的字符串换行显示的Demo,主要使用正则re模块的findall方法。
关于findall的语法格式如下:
re.
findall
(pattern, string, flags=0)
参数说明:
pattern:正则表达式
string:待匹配的字符串
flags:说明匹配模式,比如是否大小写re.I等
以下是Demo代码:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re
# 使用正则定义分隔符
pattern = r'[0-9a-zA-Z]+|[^0-9a-zA-Z]+'
# 需要拆分的字符串
chemical_str = "2H2+O2加热2H2O2"
# 拆分字符串
chemical_list = re.findall(pattern, chemical_str)
# 换行
result_chemical_str = "\n".join(chemical_list)
print(result_chemical_str)
运行效果截图如下: