正则表达式以匹配第二行中的数字
本文关键字:二行 数字 正则表达式 | 更新日期: 2023-09-27 18:30:14
我需要一个正则表达式来匹配第二行中的数字。类似的输入如下所示:
^C1.1
xC20
SS3
M 4
十进制模式(-?'d+('.'d+)?)
匹配所有数字,第二个数字可以在后面的代码上循环,但我需要一个正则表达式来直接获取第二行中的数字。
/^[^'r'n]*'r?'n'D*?(-?'d+('.'d+)?)/
这通过在输入开头捕获一行来操作:
^ Beginning of the string
[^'r'n]* Anything that isn't a line terminator
'r?'n A newline, optionally preceded by a carriage return
然后是所有非数字字符,然后是您的数字。
由于您现在已经反复更改了需求,因此请尝试以下尺寸:
/(?<='n'D*)-?'d+('.'d+)?/
我能够用这个正则表达式捕获它。
.*'n'D*('d*).*'n
查看与此匹配的任何内容的第 1 组:
^.*?'r'n.*?('d+)
如果这不起作用,请尝试以下操作:
^.*?'r'n.*?('d+)
两者都带有多行未设置...
我可能会在/^.*?'r?'n.*?(-?'d+(?:'.'d+)?)/
中使用捕获的组,其中...
^ # beginning of string
.*? # anything...
'r?'n # followed by a new line
.*? # anything...
( # followed by...
-? # an optional negative sign (minus)
'd+ # a number
(?: # -this part not captured explicitly-
'.'d+ # a dot and a number
)? # -and is optional-
)
如果它是一种支持后视的口味,那么还有其他选择。