PHP - 正则表达式

Dae*_*eto 1 php regex

我正在寻找一个正则表达式,它还可以识别和分隔逗号,等号以及输入中可能需要的任何其他特殊字符.

现在我拥有的是什么 $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)

我一直在网上搜索一段时间,无法真正找到我需要的东西.提前致谢!

ssc*_*ep3 5

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)

这个例子可以在这里运行.