有人可以幫助我在PHP中建立一個正則表達式並解析下面的字符串來實現單個模塊。的一些字符串格式正則表達式和解析重複相同的組總是
例子:()=>組
STR1 =(A & & B)|| (C || d)& &!(E || F)
O/P陣列=(組1,||,組2,& &,組3)
STR2 =!(A ||乙)& &(C || d)& &(E & & F)
O/P陣列=(組1,& &,組2,& &,組3)
str3 =!(A || B)
O/P陣列=(組1)
STR4 =(A & & B)
O/P陣列=(組1)
STR5 =(A || B)
O/P陣列=(組1)
STR5 =(A & & B)
O/P陣列=(組1)
總之,這些基團可以是任何順序或存在用於每個組內的數據沒有限制。
組1:(A & &乙& &Ç& & ...... n)的
第2組:(A || ||乙Ç|| ...... n)的
第3組:(A || ||乙ç|| ...... N)
預先感謝。如果需要,我可以發佈我現在的東西?
回答哪個起作用了:'/(!?\(.*?\))| \ | \ || & & /」
但它給我用於下面的實施例的錯誤,其中只有一個基團,其是W/O型括號:
STR1 = A & &乙
O/P排列的1組=(沒有括號),其中組1 = & &乙
STR2 = A || B || C
O/P array = group1(no括號)其中group 1 = A || B || C
是的,你應該總是發佈你的相關嘗試,否則這個問題可能會很快關閉。 – kapa 2013-03-06 21:54:55
通常,正則表達式只能描述[常規語言](http://en.wikipedia.org/wiki/Regular_language)。你的語言不是常規的,而是[context-free](http://en.wikipedia.org/wiki/Context-free_language)。所以你可能需要編寫你自己的解析器。 – Gumbo 2013-03-06 22:06:59
嵌套與正則表達式的瘋狂(它驗證輸入,所以它比正常長),只是爲了演示它是可能的,但不推薦:http://stackoverflow.com/questions/15233953/php-split-string-on-逗號但不是在大括號或引號之間/ 15235628#15235628 – nhahtdh 2013-03-06 22:51:06