我正在寻找一个正则表达式,它还可以识别和分隔逗号,等号以及输入中可能需要的任何其他特殊字符.
现在我拥有的是什么 $content = preg_split('/[\s]+/', $file_content, -1, PREG_SPLIT_NO_EMPTY);
它将输入文件的内容存储到一个数组中,其中每个元素由空格分隔.
但是例如对于function a (int i) {};数组看起来像这样:
[0] = function
[1] = a
[2] = (int
[3] = i)
[4] = {};
Run Code Online (Sandbox Code Playgroud)
我想用正则表达式实现的目的是:
[0] = function
[1] = a
[2] = (
[3] = int
[4] = i
[5] = )
[6] = {
[7] = }
[8] = ;
Run Code Online (Sandbox Code Playgroud)
我一直在网上搜索一段时间,无法真正找到我需要的东西.提前致谢!
split()您可以将以下模式与以下模式结合使用,而不是使用此功能preg_match_all():
[a-zA-Z]+|[^a-zA-Z\s]
Run Code Online (Sandbox Code Playgroud)
它实际上查找[a-zA-Z](1或更多)的多个字符或[a-zA-Z]不是空格字符的单个字符.
这是一个例子:
<?php
$string = "function a (int i) {};";
$regex = "/[a-zA-Z]+|[^a-zA-Z\s]/";
$matches = array();
preg_match_all($regex, $string, $matches);
print_r($matches);
?>
Run Code Online (Sandbox Code Playgroud)
这个例子可以在这里运行.