0

我创建了一个可以从 PHP 文件中提取所有字符串的正则表达式。例如,我有“abc.php”,我想提取其中的所有字符串(包括标签“')。我制作了自己的正则表达式,但有些字符串不匹配或过度匹配。

注意:我的意图也与此处的帖子相同-> PHP:Regex 以匹配以下字符串示例

但是该线程中的 agent-j 答案也与某些字符串不匹配。

基本上,这是我的正则表达式

/[\"|\'][^.\/\"](.*?)[^,\\][\"|\']/

这里的问题在图片..

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我也尝试使用 agent-j 正则表达式,但他的正则表达式在多行匹配字符串时出现问题。

他的正则表达式

(['"])((?:\\\1|(?!\1).)+)\1

这个正则表达式的问题

在此处输入图像描述

4

2 回答 2

0

看起来没有人解决我的问题。我在朋友的帮助下自己解决了这个问题。所以这是我正在寻找的正则表达式。

/([\"\'])(?:(?=(\\\\?))\\2.)*?\\1/s
于 2013-05-09T07:19:22.143 回答
0

我发现将任何逻辑与整个文件匹配的最简单方法是使用

$something_better = explode(''',$something);

通过这种方式,您可以获得更容易评估的数据数组。每次我想保证每次都能完全按照自己的意愿进行比赛时,我都会使用这个概念。

我在这里要做的是分解和提取单引号之间的信息,匹配我想要的,然后在单引号上内爆。由于您还需要双引号,因此您可以分解并重复双引号的过程。

以我的经验,很难用一个简单的语句来正则表达式解决所有问题。如果可以的话,最好把它分成小块。出错的余地会更小。

于 2013-05-08T12:08:13.457 回答