Regex 正则表达式:从多行中获取2个值

Regex 正则表达式:从多行中获取2个值,regex,Regex,我有一段文字: Session Information Specification: msl2_1_rx2_file Session ID: 2015/11/13-19 Type: Backup Session Owner: mycompany.com Status: Completed Mode: incr Start Time: 11/13/2015 12:07:33 PM Queuing: 0:00 Duration: 2:24 GB Written: 596.05 # Media: 2

我有一段文字:

Session Information

Specification: msl2_1_rx2_file
Session ID: 2015/11/13-19
Type: Backup
Session Owner: mycompany.com
Status: Completed
Mode: incr
Start Time: 11/13/2015 12:07:33 PM
Queuing: 0:00
Duration: 2:24
GB Written: 596.05
# Media: 2
# Errors: 1
# Warnings: 0
我想通过正则表达式获得两个值:
msl2\u 1\u rx2\u文件
1
(错误计数)

但我只能知道如何拥有一个价值:

/Specification: (.+)/m 

如何从一个正则表达式中获取这两个值?
谢谢

使其全球化,并测试其中一个或另一个-

/Specification: (.+)|# Errors:\ (.+)/gm
要提取值,请获取捕获组1和2


考虑

使其全球化,并测试其中一个或另一个-

/Specification: (.+)|# Errors:\ (.+)/gm
要提取值,请获取捕获组1和2


关于

您可以使用交替和^线锚起点:

/^(?:Specification:|# Errors:) *(.+)/gm

正则表达式细分:

  • ^
    -行的开头(因为
    /m
    强制执行
    ^
    以匹配行的开头)
  • (?:规范:|#错误:)
    -与
    规范:
    错误:
  • *
    -0个或多个常规空格
  • (.+)
    -行末的所有字符
您需要的结果在第2组中:

msl2_1_rx2_file
1

您可以使用交替和
^
线锚起点:

/^(?:Specification:|# Errors:) *(.+)/gm

正则表达式细分:

  • ^
    -行的开头(因为
    /m
    强制执行
    ^
    以匹配行的开头)
  • (?:规范:|#错误:)
    -与
    规范:
    错误:
  • *
    -0个或多个常规空格
  • (.+)
    -行末的所有字符
您需要的结果在第2组中:

msl2_1_rx2_file
1
/(规范:(.+)|(#错误:\(.+)/g

/(规格:(.+)|(#错误:\(.+)/g


如果您的代码是JavaScript,我们可以展示如何使用我们提出的regexp。请说明您正在使用的语言/工具。如果您的代码是JavaScript,我们可以演示如何使用我们提出的regexp。请说明您使用的语言/工具。