假设
string x = 100 4f fdsa fdsa few 2 dsa 12 3 +200 -100
pattern = (?<A>\d+).*?(?<B>(\+|-)?\d+(\.\d)?)?\s*(?<C>(\+|-)\d+(\.\d)?)
预期的行为是A = 100 B = + 200和C = -100 正则表达式的结果是A = 100 C = + 200
我不确定为什么会这样? B上的量词应该以贪婪的方式表现,并且。*?应该不贪心。
有没有更好的方法来编写这个模式,因为我似乎经常遇到这种情况,在一个字符串上执行匹配,在所需的令牌中间有很多无用的数据?
所以只是总结所有这些可能的字符串
1 +1 A=1 B=null C=+1
1 6 +1 A=1 B=6 C=+1
1 7 6 +1 A=1 B=6 C=+1
1 asd asfd 1 7 +6.0 -7 A=1 B=+6.0 C=-7
答案 0 :(得分:1)