vbscript中的正则表达式模式以匹配多行文本

Regex pattern in vbscript to match Text with multiple line

我对 Slno 有很长的了解。在里面。我想用 Slno 从字符串中拆分句子。

示例文本:

1. Able to click new button and proceed to ONB-002 dialogue.
2. - Partner connection name **(text field empty)(MANDATORY)**
- GS1 company prefix  **(text field empty)(MANDATORY)**

我尝试使用 vbscript 正则表达式来匹配模式。但它只匹配字符串的第一行 (1. text) 而不是第二行。

^\d+\.\s(-?).*[\r\n].[\r\n\*+]*.*|^\d+\.\s(-?).*[\r\n]

并在拆分字符串时,为 Slno。 2 我也想得到下面的句子。很难得到。

请帮助我。

Set regex = CreateObject("VBScript.RegExp")
 With regex
   .Pattern = "^\d+\.\s(-?).*[\r\n].[\r\n\*+]*.*|^\d+\.\s(-?).*[\r\n]"
   .Global = True
 End With
Set matches = regex.Execute(txt)

我的期望是寻找匹配

的正则表达式模式
1. Able to click new button and proceed to ONB-002 dialogue.

& 

2. - Partner connection name **(text field empty)(MANDATORY)**
- GS1 company prefix  **(text field empty)(MANDATORY)**

作为单独的句子或组。

如果我没记错的话,要得到 2 个独立的部分,包括你可以使用的行:

^\d+\..*(?:\r?\n(?!\d+\.).*)*

说明

  • ^ 字符串开头
  • \d+\. 匹配 1+ 个数字后跟一个点
  • .* 匹配除换行符以外的任意字符0+次
  • (?:非捕获组
    • \r?\n(?!\d+\.).* 匹配一个换行符并使用否定前瞻来判断右边的不是 1+ 数字后跟一个点
  • )*关闭非捕获组并重复0+次

Regex demo