我是一个试图在文本文件中搜索某些序列号的新手。我正在使用PHP 5,并且正在读取CSV文件。我创建了以下正则表达式:正则表达式的帮助,没有找到我需要的东西
/^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/
我期待通过对类似于下面列出的一个序列号一个相当大的文本文件:
37DB4B71-DAFA-4311-9AC6-0005646CB9BC
它总是发现的第一个序列号,但它没有找到任何其他的。至少有15个人,对我做错什么有什么建议?我的印象是\ w会在大小写敏感的情况下找到数字或数字。我认为它发挥作用,因为它发现第一例。
这里是我用来解析CSV文件的代码,我只是把整个文件放进去,并试图按序号分割成一个数组。下面是我正在使用的代码,以查看在我做其他事情之前是否至少可以获得序列号。现在它向我展示了一个内有1个项目的数组。那一个项目是序列号,后面跟着一堆文本和我需要的序列号。
还有一件事,我使用preg_split的原因是因为序列号后面跟着一个逗号,然后是关于序列号的一些细节。我试图使用Preg_split来破解文件,以便文本会跟在序列号后面。
$searchPattern = '/^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/';
//Get the contents of the File
$contents = file_get_contents('C:/files/andrew1.csv');
if ($contents === false){
echo 'Sorry, there was a problem reading the file.';
} else{
$NoHTMLContents = strip_tags($contents);
$splitContents = preg_split($searchPattern, $NoHTMLContents);
echo '<pre>';
print_r($splitContents);
echo '</pre>';
}
只是做,我得到了45分钟回家,所以我会一次回答任何问题我到那里了。感谢您的帮助 – Drewdin
如果序列号后跟一个逗号,为什么您的正则表达式要求*后面没有逗号? –
@Mark感谢您的建议,如果我删除$是否正确更改正则表达式?谢谢 – Drewdin