我有一個算術字符串,將類似於以下模式。正則表達式將字符串拆分爲數組和字符使用PHP
a. 1+2+3
b. 2/1*100
c. 1+2+3/3*100
d. (1*2)/(3*4)*100
需要注意的事項是
1.字符串絕不會包含空格。
2.字符串將始終是數字,算術符號(+, - ,*,/)和字符'('和')'的組合
我正在尋找一個PHP正則表達式來分割字符基於它們的類型並形成如下的單個字符串字符的數組。
:
一個(注意,因爲我想數字比10不被分裂更大的我不能使用str_split)。 1+2+3
輸出=>[
0 => '1'
1 => '+'
2 => '2'
3 => '+'
4 => '3'
]
灣2/1*100
輸出=>[
0 => '2'
1 => '/'
2 => '1'
3 => '*'
4 => '100'
]`
℃。
輸出=>[
0 => '1'
1 => '+'
2 => '2'
3 => '+'
4 => '3'
5 => '/'
6 => '3'
7 => '*'
8 => '100'
]`
d。(1*2)/(3*4)*100
輸出=>[
0 => '('
1 => '1'
2 => '*'
3 => '2'
4 => ')'
5 => '/'
6 => '('
7 => '3'
8 => '*'
9 => '4'
10 => ')'
11 => '*'
12 => '100'
]
非常感謝你提前。
歡迎來到StackOverflow。不幸的是,這既不是教程網站,也不是網絡搜索替代品然而,我們可以幫助解決[某些主題上的問題](https://stackoverflow.com/help/on-topic),但它是**你的**工作[付出一些努力](http:// meta。 stackoverflow.com/questions/261592),其中包括初級[(重新)搜索](https://google.com/)。 –
儘量做到這一點,並提供代碼,我會與你分享一個更簡單的方法來做到這一點。 – ksjohn
你最好爲這樣的工作寫一個解析器。 – Toto