jquery 怎么 使用 正则表达式 提取 字符串中的时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 怎么 使用 正则表达式 提取 字符串中的时间相关的知识,希望对你有一定的参考价值。

例如字符串20-Sep-2018 14:58:39.686 信息 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
20-Sep-2018 14:58:39.693 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory E:\apache\apache-tomcat-8.0.50\webapps\manager has finished in 293 ms
20-Sep-2018 14:58:39.693 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory E:\apache\apache-tomcat-8.0.50\webapps\ROOT
20-Sep-2018 14:58:40.008 信息 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR w

var s = '20-Sep-2018 14:58:39.686 信息 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them.'+
'20-Sep-2018 14:58:39.693 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory E:\\apache\\apache-tomcat-8.0.50\\webapps\\manager has finished in 293 ms'+
'20-Sep-2018 14:58:39.693 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory E:\\apache\\apache-tomcat-8.0.50\\webapps\\ROOT'+
'20-Sep-2018 14:58:40.008 息 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR w';

s.match(/\\d2:\\d2:\\d2\\.\\d3(?=\\s+信息)/g);

追问

首先感谢回复,我看了下后缀这个能换个写法么,因为后缀可能各种求情况,还有时间格式,这个能多提供几个么,在match里或则,匹配获取几种常见的时间格式,麻烦给回复下,我提高了悬赏分数,谢谢。

追答

还是要要据你的实际情况, 就算加了其它时间格式,如果用不到也没用,还影响性能,最好看看有没有什么地方是固定不变的.

参考技术A 你给的例子的字符串有规律啊。日期都在信息两个字前面。如果真实情况也是这样就简单了。截取信息前面多少位就行了啊

如何使用正则表达式提取部分字符串

【中文标题】如何使用正则表达式提取部分字符串【英文标题】:How to extract part of string using regex 【发布时间】:2021-12-30 01:17:37 【问题描述】:

我正在尝试提取字符串的一部分作为日期时间戳。

示例字符串:

Upgrade starting on Mon Aug 9 06:46:00 UTC 2021 with ...

提取的值应该是:

Mon Aug 9 06:46:00 UTC 2021

我尝试应用以下正则表达式来提取时间戳:

(\d2:\d2:\d2)

我怎样才能同时提取日月和年。

【问题讨论】:

^(Upgrade starting on )(\S3) (\S3) (\d1,2) (\d2:\d2:\d2) (\S3) (\d4)(.*) regex101.com/r/g4AHf4/1 这应该可以帮助您顺利上路 不包括第一部分:(?<=Upgrade starting on )(\S3) (\S3) (\d1,2) (\d2:\d2:\d2) (\S3) (\d4)(.*) 如果字符串始终具有相同的开始和结束,我会提取“升级开始于”和“使用...”之间的所有内容并将其提供给日期解析器 【参考方案1】:

使用正则表达式从原始字符串中提取部分字符串,以下是完整代码

package main

import (
    "fmt"
    "regexp"
)

func main() 

    // extract part of string using regex
    str := "Upgrade starting on Mon Aug 9 06:46:00 UTC 2021 with ..."

    // extract string "Mon Aug 9 06:46:00 UTC 2021" using regex
    re := regexp.MustCompile(`(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d1,2 \d2:\d2:\d2 (\S3) \d4`)
    t := re.FindString(str)
    fmt.Println(t)



【讨论】:

UTC 部分应注意查看其他可能性

以上是关于jquery 怎么 使用 正则表达式 提取 字符串中的时间的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式怎么提取json中的value?

js 正则表达式提取某一段字符

正则表达式 提取内容

JavaScript 从批量文本中提取电子邮件(使用正则表达式,JavaScript和jQuery)

java正则表达式提取网址

什么时间用正则表达式什么时间用json提取器