Javascript 如何将PCRE正则表达式转换为PHP?

Javascript 如何将PCRE正则表达式转换为PHP?,javascript,php,regex,pcre,Javascript,Php,Regex,Pcre,我有一个正则表达式: /constructor.*?\nbegin\n(^(?:(?!inherited).)*$\n)+?end/igm; (它搜索没有继承关键字的delphi构造函数)。当我在这里使用它时:它工作得很好 例如,您可以在字符串上测试它 constructor TAPISession.Create; begin LastActivity:=Now; CS:= TCriticalSection.Create; APIObj:= TAdvancedServerObje

我有一个正则表达式:

/constructor.*?\nbegin\n(^(?:(?!inherited).)*$\n)+?end/igm;
(它搜索没有继承关键字的delphi构造函数)。当我在这里使用它时:它工作得很好

例如,您可以在字符串上测试它

constructor TAPISession.Create;
begin

  LastActivity:=Now;
  CS:= TCriticalSection.Create;
  APIObj:= TAdvancedServerObject.Create;
  CachedDomainsList:=TCachedDomainsList.Create;
  CachedAccountsList:= TCachedAccountsList.Create;
end;
但是如果我在php中使用它(preg_match_all),它就不起作用了

preg_match_all('/constructor.*?\nbegin\n(^(?:(?!inherited).)*$\n)+?end;/im',$string,$matches);

如果您有任何帮助,我们将不胜感激

谢谢Marc B,因此答案很简单,只需检查一下回车即可

preg_match_all('/constructor.*?\r?\nbegin\r?\n(^(?:(?!inherited).)*$\r?\n)+?end;/im',$string,$matches);

你确定那里只有
\n
换行符吗?也许是
\r\n
吧?老兄,我太蠢了:多谢了,救了我第二个小时:你敢在第一组抓捕之后吗?通过
$matches[1]
访问它。