Regex 正则表达式中块括号中的括号
我需要一个与以下内容匹配的正则表达式:Regex 正则表达式中块括号中的括号,regex,backreference,Regex,Backreference,我需要一个与以下内容匹配的正则表达式: (whatever) 3.4 Temp (whatever) 7.8 Name (whatever) 10.0 Other Name 基本上,它必须匹配开头的任何内容,然后是两个空格、两个数字、一个点和一个数字,或者三个空格、一个数字、一个点和一个数字,然后是两个空格和任何内容 这很容易与这个正则表达式匹配: .*? [\s|\d]\d\.\d .*? 但是,我想使用反向引用提取十进制数及其后的任何内容。我在努力 .*? [\s(
(whatever) 3.4 Temp
(whatever) 7.8 Name
(whatever) 10.0 Other Name
基本上,它必须匹配开头的任何内容,然后是两个空格、两个数字、一个点和一个数字,或者三个空格、一个数字、一个点和一个数字,然后是两个空格和任何内容
这很容易与这个正则表达式匹配:
.*? [\s|\d]\d\.\d .*?
但是,我想使用反向引用提取十进制数及其后的任何内容。我在努力
.*? [\s(\d\.\d)|(\d\d\.\d)] (.*?)
但是,使用\1、\2来引用它是不起作用的,我认为这是因为我所指的括号位于带有“|”符号的可选方括号中。有解决方案吗?当然,只需将空格从字符类中拉出即可
.*?\s+([\d.]+)
但是,由于\d
实际上是[0123456789.]
,所以只需删除字符类。由于*?
也将匹配这些前导空格,所以也请删除\s
.*?(\d+)
|
在字符类中不表示“或”。我认为你根本不应该在这里使用角色类…@MattBall-Jeez我是个白痴。你刚才看的真是太神奇了。谢谢