-1

我需要一些关于正则表达式的帮助:

输入:

0;-8.04,-8.22,-8.30
0;-8.04

我希望输出是

-8.04
-8.04

我确实让它分别适用于两个字符串,但不是这样我就可以用它们中的每一个来提供我的函数并且仍然得到相同的结果。

谢谢你的帮助

4

3 回答 3

1

您可以使用积极的lookbehind

(?<=;)-?\d+\.\d+

演示

于 2013-07-29T15:38:57.223 回答
0

你没有提到语言。JavaScript 中的一个示例:

your_string.match(";(-?[0-9.]+),?")[1]

例子:

> "0;-8.04,-8.22,-8.30".match(";(-?[0-9.]+),?")[1]
"-8.04"
于 2013-07-29T15:40:24.650 回答
0

这对我有用:

.*?;\s*([^,]*)(,|$).*

它捕获分号之后和下一个逗号或行尾之前的任何内容。示例:http ://www.regex101.com/r/bE7oI9

于 2013-07-29T15:42:27.393 回答