我正在尝试从字符串中获取一些命名的组(X,Y,Z,W,P,R),但是在获取输出时遇到了问题。
这是字符串中包含我要提取的信息的部分:
[1,1] = Group: 1 Config:
X: -196.999 Y: 1009.999 Z: 210.342
W: 90 P: 0 R: 90
我尝试使用以下方法获取值
@"(?<X>(?<=X:\s*)([+-]?\d*(\.\d+)?))
(?<Y>(?<=Y:\s*)([+-]?\d*(\.\d+)?))
(?<Z>(?<=Z:\s*)([+-]?\d*(\.\d+)?))
(?<W>(?<=W:\s*)([+-]?\d*(\.\d+)?))
(?<P>(?<=P:\s*)([+-]?\d*(\.\d+)?))
(?<R>(?<=R:\s*)([+-]?\d*(\.\d+)?))"
但是我没有任何值。
仅当使用@"(?<X>(?<=X:\s*)([+-]?\d*(\.\d+)?)(?=\s*Y:))"
时,我才能获得X组的正确值。
但是此
@"(?<X>(?<=X:\s*)([+-]?\d*(\.\d+)?)(?=\s*Y:))
(?<Y>(?<=Y:\s*)([+-]?\d*(\.\d+)?)(?=\s*Z:))"
也没有给我任何值。
最终匹配的Config:\s*
也将起作用,当我尝试此操作时>>
@"(?<=Config:\s*)(?<X>(?<=X:\s*)([+-]?\d*(\.\d+)?)(?=\s*Y:))"
我没有价值,但是有
@"(?<=:\s*)(?<X>(?<=X:\s*)([+-]?\d*(\.\d+)?)(?=\s*Y:))"
所以,A)我不明白为什么我需要先行
(?=\s*Y:)
来获得值
B)如果添加另一个组,为什么会失败?
C)为什么我不匹配Config?
有人可以向我解释我在这里做错了什么吗?
我正在尝试从字符串中获取一些命名的组(X,Y,Z,W,P,R),但是在获取输出时遇到了问题。这是字符串中包含我要提取的信息的部分:[1,1] = ...
我建议您尝试查找每个字母标签及其关联的浮点值的不同方法: