我遇到了问题。我需要在文本中找到不同的文本表,如:
+--------------------+--------------------+---------------------+
| Some data | Some results | Some things |
| | | (modules) |
+--------------------+--------------------+---------------------+
| | | |
| | +---------------------+
| | | |
| +--------------------+---------------------+
| | | |
| | +---------------------+
| | | |
| +--------------------+---------------------+
| | | |
| | +---------------------+
| | | |
+--------------------+--------------------+---------------------+
| | | |
| | +---------------------+
| | | |
| +--------------------+---------------------+
| | | |
| | +---------------------+
| | | |
| +--------------------+---------------------+
| | | |
| | +---------------------+
| | | |
+--------------------+--------------------+---------------------+
或喜欢
+--------------+--------------+-------------+----------+-----------+
| Name |Age | Possible | Good | Bad |
| | | | | |
+--------------+--------------+-------------+----------+-----------+
| 1 | 2 | 3 | 4 | 5 |
+--------------+--------------+-------------+----------+-----------+
| Allgood things | |
+--------------+--------------+-------------+----------+-----------+
| | | | | |
+--------------+--------------+-------------+----------+-----------+
我试图找到以+开头的所有内容 - 以-+结尾,然后是白色空格或单词或数字:
$pattern = '/\+(-)+(.*)(-+\+[\s\d\w]+)/mis';
preg_match_all($pattern, $this->document, $matches);
我发现内容从一个表开始到最后一个表结束。但我想在文档中找到所有表格。
请帮忙。
答案 0 :(得分:1)
试试这个
^[\+-]+$(\s*^[+|].*?$)*
这将找到一个以+
和-
组成的行开头的表格。 ^
匹配行的开头,$
匹配行的结尾。有一个空格,需要匹配换行符
然后是一个在表中定义行的组:它必须以+
或|
开头,然后可以有任何字符直到行的末尾。这个完整的组将被重复,直到有一行没有以这些字符之一开始。