字符串:
<LF><CR>A214 pH/ISE,X00066,2.59,ABCDE,10/16/13 22:06:59,ABC1,CH-1,pH,7.00,pH,0.0, mV,25.0,C,100.0,%,M100,#35<LF><CR>
我只需匹配7.00
- 这个数字可以是0.00 - 14.00
(其pH
读数)。
现在我只能提出[0-9]{1,2}\.[0-9]{2}
,它也与前面出现在字符串中的软件修订号相匹配(2.59
)
非常感谢任何帮助。
编辑:谢谢大家。我通过使用[0-9]{1,2}\.[0-9]{2}(?=,p)
来解决这个问题
答案 0 :(得分:1)
只需查找所有条目并获取最后一条:
>>> s = "A214 pH/ISE,X00066,2.59,ABCDE,10/16/13 22:06:59,ABC1,CH-1,pH,7.00,pH,0.0, mV,25.0,C,100.0,%,M100,#35"
>>> re.findall("[0-9]{1,2}.[0-9]{2}", s)[-1]
'7.00'
您可以使用PH介于0-14之间的信息(第一个数字只能一个等)来改进该正则表达式。或者更好,只需用逗号分隔或使用csv
模块。
答案 1 :(得分:0)
如果字符串的格式是固定的,即如果您在,
上拆分,则数据位于第9位。例如,使用例如AWK:
$ awk -F, '{print $8, $9}' input
pH 7.00
或在awk模式下使用perl:
$ perl -F, -lane 'print $F[8]' input
7.00
或者这个正则表达式
pH,(\d+\.\d{2})
上查看该行
答案 2 :(得分:0)
也许你可以使用它:
pH,(([0-9]|1[0-4])\.\d{2}),pH
您需要的第1组匹配号码。那个控制数据