以下是我的一段文字:
G1 13.00
G1 3.00
0.00
27C
我正在尝试使用正则表达式来捕获一个字母组,这是一个字母数字代码(G1或27C)或另一个组是浮点数(xx.xx),或两者都是。
对于这个例子,我想要这个特定的回报:
(G1,13.00)
(G1,3.00)
(,0.00)
(27C,)
这是我最接近的解决方案:
\(?:(\w+) +(\d+\.\d+))|(?: +(\d+\.\d+))|(?: +(\w+))\
此解决方案的问题是在第3组和第4组中捕获了最后2行值:
(G1,13.00,,)
(G1,3.00,,)
(,,0.00,)
(,,,27C)
关于如何解决它的任何想法?
我发现这个问题很接近:In a regular expression, match one thing or another, or both但是它解答了如何匹配而不是捕获。