这是我的测试正则表达式,包含IgnoreCase和Singleline选项:
^\s*((?<test1>[-]?\d{0,10}.\d{3})(?<test2>\d)?(?<test3>\d)?){1,}$
并输入数据:
24426990.568 128364695.70706 -1288.460
如果我省略 ^ (匹配行首)和 $ (匹配行尾)
\s*((?<test1>[-]?\d{0,10}.\d{3})(?<test2>\d)?(?<test3>\d)?){1,}
然后一切都很完美。
为什么它不能用于字符串开始/结束标记(^ / $)?
提前致谢。
答案 0 :(得分:3)
请注意,这表示整个输入字符串。
所以如果你使用:
24426990.568 128364695.70706 -1288.460
作为输入字符串,则开头是第一个空格,字符串的结尾将是0
由于您的模式恰好匹配您正在寻找的一个实例,因此与^和$一起使用时,正则表达式将失败。这是因为它在输入字符串中寻找该模式的一个实例,但有三个。 您有两种选择: