我有test.txt文件,我上传并使用PHP读取它。
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//GET FILE
$file = $_FILES['file']['tmp_name'];
//READ FILE CONTENT AND PUT IT TO STRING
$read_file = file_get_contents($file);
}
一切都很完美......
if ( ) { int myVariable = 1254 ; //this is my comment }
我上传的这个test.txt文件包含这行代码..
我想在阅读此文件后得到这个结果:
One Identifier Found: myVariable
One Keyword Found: if
One Number Found: 1254
我试图爆炸此文件并使用正则表达式来比较此文件中的每个单词
$read_file_array = explode(" ", $read_file);
我想读取整个文件,并获得相同的结果,而不是爆炸文件取决于空格。因为该文件可能不包含空格。
谢谢
这是一个非常复杂的问题。你基本上是在尝试创建一个编程语言解析器。您需要绝对定义适合您尝试查找结果的每个类别的内容:
What I am trying to do:
我想在阅读此文件后得到这个结果:
One Identifier Found: myVariable One Keyword Found: if One Number Found: 1254
设置此项,您可以使用它来定义正则表达式规则。例如在PHP标识符变量是$<name>
所以你可以做一个像'/($[a-z]+[a-z0-9]*)/i'
这样的正则表达式:
我无法定义您的关键字搜索,因为您需要首先定义关键字的实际内容。 Sausage
是关键词?为什么?这些信息是如何获得的?
要查找数字,您可以执行某些操作,例如检查值是否在某个字符之后,例如等号'\s*=\s*(\d+)'
将搜索并找到可能的空格,等于,其他可能的空格后跟但是一个或多个数字。
我认为你应该离开并阅读文档和书籍以及关于Regex如何工作的在线文字以及正则表达式所经历的逻辑过程,以便最好地设置你的标准以适应正则表达式能做什么和不能做什么。