我需要找到文本specic线,从几行文字PHP的preg_match
所以,我有一个文本文件中的几行文字,如:
JOHN
MIKE
BEN
*BJAMES
PETE
,我读了内容插入一个数组中,每行文本放入数组的一个单独元素中。
然后我测试的阵列中的每个元素,发现开头的行,说:* B
即:
if (preg_match("/^\*(B)/",$contents[$a]))
为什么dosnt这项工作?
我需要找到文本specic线,从几行文字PHP的preg_match
所以,我有一个文本文件中的几行文字,如:
JOHN
MIKE
BEN
*BJAMES
PETE
,我读了内容插入一个数组中,每行文本放入数组的一个单独元素中。
然后我测试的阵列中的每个元素,发现开头的行,说:* B
即:
if (preg_match("/^\*(B)/",$contents[$a]))
为什么dosnt这项工作?
我不会在这里使用双引号,因为\是转义序列:
if (preg_match('/^\*(B)/',$contents[$a]))
它在这里工作对我来说,虽然即使有双引号,所以你可能要检查什么$contents[$a]
是:
$myline = "*BJAMES";
if(preg_match("/^\*(B)/", $myline))
{
echo "Yes\n";
}
考虑下面的代码:
$regex = "%\*B(.*?)%is";
if (preg_match($regex, $contents[a])) { /// do something }
你10
也可能找到这个幻灯片学习正则表达式非常有用:
http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/
我下面的作品(其中$ TXT是你的原始数据):
foreach (explode("\n", $txt) as $a) {
if (preg_match("/^\*B/", $a)) {
echo "**MATCH " . $a . "<br/>";
}
}