【发布时间】:2018-05-09 18:25:26
【问题描述】:
我正在从文件名中提取电压的数值数据。该名称包含三个这样的数据,但正则表达式只返回 2。
set data "blabla_0p500v_0p530v_0p550v_m25c_foo.dat"
regexp -all -inline {_(\dp\d{3})v_} $data
返回:
_0p500v_ 0p500 _0p550v_ 0p550
我期待:
_0p500v_ 0p500 _0p530v_ 0p530 _0p550v_ 0p550
不确定缺少什么。
感谢您的帮助。
【问题讨论】:
-
看来你可以使用
regexp -all -inline {\dp\d{3}} $data直接获取匹配项。 -
@PeterLewerin 然后,不知道匹配是否发生在下划线之间(除非您为此添加一些代码)。
-
@WiktorStribiżew:显然。而且,从这个例子来看,这似乎并不重要。