最近我一直在想一些隨機的東西,而這一個引起了我的興趣。正則表達式來匹配包含X,Y和Z的單詞
如何爲包含X,Y和Z(或任何字母組合)的單詞編寫正則表達式,但不一定按此順序編寫正則表達式。
我試圖
[^xyz]*x[^xyz]*y[^xyz]*z
但這種搜索的順序只有
我們可以做
[^xyz ]*[xyz][^xyz ]*[xyz][^xyz ]*[xyz]
但這只是無用的,因爲它也只匹配XY。
我瞄準了一個正則表達式將匹配字包含X,Y和Z在所有輸入以下命令
- XYZ
- XZY
- YZX
- YXZ
- zxy
- zyx
編輯
忘記之前(對不起回合,)
怎麼樣,也使其匹配像
abxcydz字(X,Y和Z來以任何順序同上)添加此
你確定這正則表達式是該任務的合適的工具?這可以通過其他方式(如果text.contains(X)和text.contains(Y)和text.contains(Z)做...)簡單地(以更可讀的方式)解決。 – Heinzi 2012-02-01 15:49:52
@Heinzi,當然,但那有什麼好玩的?:P 這個想法剛剛引起了我的興趣,我的目標並不是爲了讓它變得可讀或微不足道,而是爲了看看它是否可行。 – 2012-02-02 10:58:42