Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用JavaScript解析日志_Javascript_Regex_Parsing_Logging - Fatal编程技术网

用JavaScript解析日志

用JavaScript解析日志,javascript,regex,parsing,logging,Javascript,Regex,Parsing,Logging,我只需要从以下内容中提取40:37.298s: Total time: 40:37.298s 使用JS,但我是JS新手,有人能帮我吗 > 'Total time: 40:37.298s'.substr(12) '40:37.298s' 如果您想使用正则表达式以获得更大的灵活性: > /([0-9]+:[0-9]+\.[0-9]+s)/.exec('Total time: 40:37.298s')[1] '40:37.298s' 如果您想使用正则表达式以获得更大的灵活性: >

我只需要从以下内容中提取40:37.298s:

Total time: 40:37.298s
使用JS,但我是JS新手,有人能帮我吗

> 'Total time: 40:37.298s'.substr(12)
'40:37.298s'
如果您想使用正则表达式以获得更大的灵活性:

> /([0-9]+:[0-9]+\.[0-9]+s)/.exec('Total time: 40:37.298s')[1]
'40:37.298s'
如果您想使用正则表达式以获得更大的灵活性:

> /([0-9]+:[0-9]+\.[0-9]+s)/.exec('Total time: 40:37.298s')[1]
'40:37.298s'

子字符串方法就是您要查找的:

"Total time: 40:37.298s".substring("Total time: ".length);

子字符串方法就是您要查找的:

"Total time: 40:37.298s".substring("Total time: ".length);

有很多方法可以做到这一点。这里有一个:

var str = "Total time: 40:37.298s";
str.split(": ")[1]
在大多数情况下,我更喜欢在某些已知轴上进行拆分,而不是像其他人所显示的那样尝试提取特定的子字符串,原因如下:

它更灵活;如果字符串的第一部分包含微小的变化,但子字符串方法不会,那么这仍然有效 查看提取的内容更容易,但substring方法要求我手动计算字符串中的位置,以验证我选择的内容是否正确
有很多方法可以做到这一点。这里有一个:

var str = "Total time: 40:37.298s";
str.split(": ")[1]
在大多数情况下,我更喜欢在某些已知轴上进行拆分,而不是像其他人所显示的那样尝试提取特定的子字符串,原因如下:

它更灵活;如果字符串的第一部分包含微小的变化,但子字符串方法不会,那么这仍然有效 查看提取的内容更容易,但substring方法要求我手动计算字符串中的位置,以验证我选择的内容是否正确 即:

\d{1,2}一位或两位数字 \“:”字符 \d{2}两位数字 . “.”字符 \d{3}三位数字 “s”字符是什么 即:

\d{1,2}一位或两位数字 \“:”字符 \d{2}两位数字 . “.”字符 \d{3}三位数字 “s”字符是什么
我会说使用像[:\.0-9]*s这样的正则表达式

比如说

yourText.match("regex")
在你的情况下是这样的

"Total time: 40:37.298s".match("[:\.0-9]*s")[0]

它将返回40:37.298s

我想使用像[:\.0-9]*s这样的正则表达式

比如说

yourText.match("regex")
在你的情况下是这样的

"Total time: 40:37.298s".match("[:\.0-9]*s")[0]
它将返回40:37.298s

注意,Regexp.exec将数组中的匹配项分配给res,因此要从上面的代码中获取实际匹配值,您需要查询res[0]。注意,Regexp.exec将数组中的匹配项分配给res,因此要从上面的代码中获取实际匹配值,您需要查询res[0]。