Php 从文件中提取哈希的正则表达式
我有一个以下格式的文件:Php 从文件中提取哈希的正则表达式,php,regex,hash,Php,Regex,Hash,我有一个以下格式的文件: 5:Name: {"hash":"c602720140e907d715a9b90da493036f","start":"2016-02-20","end":"2016-03-04"} 5:Name: {"hash":"e319b125d71c62ffd3714b9b679d0624","sa_forum":"on","start":"2015-11-14","end":"2016-02-20"} 我正在尝试使用正则表达式提取哈希键和日期。 我怎么做 我尝试了这个/^[
5:Name: {"hash":"c602720140e907d715a9b90da493036f","start":"2016-02-20","end":"2016-03-04"}
5:Name: {"hash":"e319b125d71c62ffd3714b9b679d0624","sa_forum":"on","start":"2015-11-14","end":"2016-02-20"}
我正在尝试使用正则表达式提取哈希键和日期。
我怎么做
我尝试了这个/^[a-z0-9]{32}$/
来进行散列,但它不起作用
我希望能得到一些帮助
编辑:这是一个文本文件,我正在尝试preg\u match()
it。这是我的密码:
$file = file_get_contents("log.txt");
preg_match("/^[a-z0-9]{32}$/",$file, $hashes);
var_dump($hashes);
我得到一个空数组。
问题是,你与<代码> > <<代码>和<代码> $匹配,但实际上你想在字符串中间匹配一些东西。试试这个:/(?<=")[a-f0-9]{32}(?=")/
在我上面的示例中,匹配项存储在数组
$matches[0]
中。看起来像是一个json…解码它:json\u deocde($string,true)代码>否。它不是json。它是一个txt文件。正在尝试与之匹配。请显示与之匹配的代码。
php > $file = file_get_contents("hashfile.txt");
php > preg_match_all('/(?<=")[a-f0-9]{32}(?=")/', $file, $matches);
php > var_dump($matches);
array(1) {
[0]=>
array(2) {
[0]=>
string(32) "c602720140e907d715a9b90da493036f"
[1]=>
string(32) "e319b125d71c62ffd3714b9b679d0624"
}
}
php >