2015-10-02 115 views
1

我如何寫一個正則表達式匹配遵循條件:正則表達式匹配兩個詞,而不是匹配其他

((iPhone | iPod)的OR(Android和移動AND(NOT GT-P)))

有人能幫助我嗎?

編輯:

隨着意見的幫助下我已經後續代碼:

iphone|ipod|(android(?!.*?gt-p)(?:\s*mobile))? 

它與更多的組相同的正則表達式的android單獨不匹配...是正確的?

+0

請發表您的評論。 「你能爲我開發這個問題嗎」的問題在本網站上並不常見,因爲它沒有表現出學習的意圖。如果你發佈了你正在使用的代碼 - 即使你認爲你是離開的 - 你肯定會得到一個你正在尋找的答案,並可能在這個過程中提高你的正則表達式技能 – wahwahwah

+0

我真的很抱歉,英語有點不好。 –

+1

@RodrigoMonteiroFerreira - 沒有問題,也沒有必要道歉:)。只要人們在包含他們的代碼時通常會在本網站上獲得更好的答案。 – wahwahwah

回答

0

這可能是你追求的:

iphone|ipod|android(?!.*?gt-p)(?:\s*mobile)? 

https://regex101.com/r/xT8rD4/1

它將使後面沒有gt-pandroidandroid mobile。如果它只允許android mobile,這是一個簡單的修復。

+0

真的很感謝你! 我正則表達式無法得到時,只有單詞 「機器人」 ...... 我改變了: iphone | ipod的|(機器人(* GT-P)(:?!?\ S *移動)) ? 這是正確的嗎? –

+0

@RodrigoMonteiroFerreira - 將最終的問號移動到最終的括號中,如下所示:iphone | ipod |(android(?!。*?gt-p)(?:\ s * mobile)?) – lintmouse

0

這裏是我提供給你

(^((?!gt-p).)*mobile((?!gt-p).)*android((?!gt-p).)*$)|(^((?!gt-p).)*android((?!gt-p).)*mobile((?!gt-p).)*$)|iphone|ipad 

它對於任何與「的iPad」或「iPhone」或匹配(「機器人」和「移動」以任意順序,只要它不同時包含「 gt -p「)

https://regex101.com/r/dR5rE4/1