我正在使用RegEx Helper网站(http://regexpal.com/)和
ENTER.+Security
匹配以下内容:
进入动物健康,食品安全和生物安全的LSU开源智能团队
然而,PHP不会preg_match
它,我无法弄清楚,我现在已经尝试了几个小时,我觉得我真的很愚蠢,我无法得到这个小块。
任何人都明白为什么?我已经尝试了各种组合但是,我能得到它以匹配它。这特别令人沮丧,因为这是迄今为止我最短最简单的RegEx,但它不会匹配。
代码:
$title = '/(ENTER.+Security)/';
$file = shell_exec('pdf2txt.py docs/April.pdf');
preg_match_all($title, $file, $m);
print_r($m[0]);
当我删除preg_match
部分,并且我只打印$文件时,有几十个视觉匹配,但它不会以编程方式匹配它。
我所看到的只是:
Array ( )
但它应该匹配的文字在这里:
... /March/17031101.asp(2011年4月4日访问)。世界卫生组织。国家食品 和药物管理局获得WHO批准的疫苗监管系统。 3月1日, 2011. http://www.wpro.who.int/china/media_centre/press_releases/PR_20110301.htm (2011年4月4日访问)。 进入开源智能团队LSU动物中心 健康,食品安全和生物安全 特别兴趣情报报告 - 提醒 韩国 - 小麦粉混合产品的标签问题......
答案 0 :(得分:2)
如果没有看到代码,很难确切知道发生了什么,但我的猜测是你没有正确划分你的表达。试试这个:
preg_match('#ENTER.+Security#', $str);
答案 1 :(得分:2)
尝试计算多行。当你将它粘贴到该网站时,很有可能它会删除任何换行符。
preg_match('/ENTER.+Security/m',$str) //note the /m
示例中的正斜杠是分隔符。以下m告诉它匹配多行。