我希望評估類似於下面的結構:如何將正則表達式的轉換或進行XOR
房子是綠色的,但我最喜歡的顏色是藍色紅色和黃色
我確定房子的顏色用正則表達式是這樣的:
房子\ S +(\ W \ S *)+(=(青色|綠? |紅色|藍色))
它是做什麼的?該表達式返回下一場比賽:
房子是綠色的,但我最喜歡的顏色是藍色
也就是說,返回最後一個匹配字符串在列表CharacterClass顏色表示,即它需要等到RED出現,但你看到的第一種顏色是綠色。
我該怎麼辦?我正在尋找的只是採取列表中提到的第一種顏色,並停止尋找,那就是告訴我,房子的顏色是綠色的,沒有別的。
問題1:如何遍歷字符串,直到只顯示一個表達式,也就是說,如何將表達式(青色或綠色或藍色或紅色)轉換爲行爲列表像異或。重要提示:只使用正則表達式,即不使用任何como.NET背景語言,Java,PERL等...
Q2:是否有使用正則表達式的其他選擇,我錯過了。那就是,我採取的道路是正確的?
在前進,謝謝大家
您可能需要從使用貪婪轉換爲非貪婪的正則表達式。不,我不知道如何在你的平臺上做到這一點。你需要谷歌那一個。 – BoltBait 2012-04-03 23:28:27