【发布时间】:2024-04-15 05:45:02
【问题描述】:
我有一个类似于以下模式的算术字符串。
a. 1+2+3b. 2/1*100c. 1+2+3/3*100d. (1*2)/(3*4)*100
需要注意的是
1.字符串永远不会包含空格。
2. 字符串始终是数字、算术符号(+、-、*、/)和字符 '(' 和 ')' 的组合
我正在寻找 PHP 中的正则表达式来根据字符类型拆分字符并形成如下所示的单个字符串字符数组。
(注意:我不能使用 str_split,因为我想要大于 10 的数字不分开。)
一个。 1+2+3
输出 => [0 => '1'1 => '+'2 => '2'3 => '+'4 => '3']
b. 2/1*100
输出 => [0 => '2'1 => '/'2 => '1'3 => '*'4 => '100'
]`
c。 1+2+3/3*100
输出 => [0 => '1'1 => '+'2 => '2'3 => '+'4 => '3'5 => '/'
@987654351 @7 => '*'8 => '100'
]`
d。 (1*2)/(3*4)*100
输出 => [0 => '('1 => '1'2 => '*'3 => '2'4 => ')'5 => '/'
@987654362 @7 => '3'8 => '*'9 => '4'10 => ')'11 => '*'12 => '100']
非常感谢您。
【问题讨论】:
-
欢迎来到 *。不幸的是,这既不是教程网站,也不是网络搜索替代品。然而,我们可以帮助解决certain on-topic problems,但首先你的工作是put some efforts 在这个主题上,包括基本的(re)search。
-
试一试并提供代码,我将与您分享一个更简单的方法。
-
你最好为这样的工作写一个解析器。
标签: php regex preg-match preg-split