1

我试图用它StringRegExp()来匹配多行文本,但到目前为止没有成功。

$sHTML = "Keyword[wellwellwell
bla bla

bla bla bla

bla bla 

<h1> bla bla </h1>
=NeedRegExp-123123123asd endline

Keyword[wellwellwell"
 $array = StringRegExp($sHTML, 'Keyword(.*?)NeedRegExp(.*?)endline ', 1)
 For $i = 0 To UBound($array) - 1
 MsgBox(0, "RegExp Test with Option 2 - " & $i, $array[$i])
  Next

我期望在数组中得到什么:-123123123asd

4

1 回答 1

4

您需要包含 DOTALL 标志。据我从文档中可以看出,您必须为此使用正则表达式标志,因为 StringRegExp 函数不支持模式范围标志?

DOTALL 标志可以.匹配换行符,并且可以通过包含(?s)在大多数风格中来激活正则表达式的其余部分。

 $array = StringRegExp($sHTML, '(?s)Keyword.*?NeedRegExp(.*?)endline ', 1)
于 2013-05-24T11:39:10.750 回答