2014-12-08 162 views
0

餘米嘗試多個正則表達式組組合成一個單一的正則表達式模式合併多個正則表達式組在一個正則表達式

Demo Here

\b 
(?<CASE_UPPER>[[:upper:]]+) 
(?<CASE_MIXED>[A-z]*[A-Z][A-z]*+) 
(?<CASE_INITIALCAPS>[A-Z][a-z]+[A-Z]*+) 
(?<PHRASE>[A-Z][\w-]*\s+[A-Z][\w-]*+) 
\b 

此文塊:

我測試以查看這是否適用於大寫,InitialCase和mixedCase,當然這也是mxxcase。第一首案例不應該匹配。 FirstWordMixed案件應該是。大寫的第一個單詞應該是。當然,將UPPER mixEd Initicase的任意組合組合起來的短語應當作爲一個短語而不是一個單詞,當然可以是Initcase1 Initcase2 Initcase3。最後,它需要匹配所有類型的協會,如協會的首字,協會的最後一詞,中間詞協會。

它適用於單組,但不能與所有人一起工作。我不知道我是否以正確的方式做到這一點!任何幫助,將不勝感激。

+0

'結合[A-Z]'不會做的工作,你的預期。 – 2014-12-08 05:53:32

+0

@AvinashRaj你能指正我嗎? – 2014-12-08 05:54:12

+0

以匹配大寫和小寫字母'[A-Za-z]' – 2014-12-08 05:58:05

回答

0

根據我的理解

您可以使用交替|不同的正則表達式

\b 
((?<CASE_UPPER>[[:upper:]]+)| 
(?<CASE_INITIALCAPS>[A-Z][a-z]+[A-Z]*+)| 
(?<CASE_MIXED>[A-z]*[A-Z][A-z]*+)| 
(?<PHRASE>[A-Z][\w-]*(\s+[A-Z][\w-]*)+)) 
\b 

Regex Example

+0

是的,你得到了我的point..I已經嘗試this..But它不會似乎是Initialcaps和短語 – 2014-12-08 06:29:01

+0

CASE_INITIALCAPS和樂句工作是missing..Initialcase應該像:HTTPS://regex101.com/r/qK1sA5/33 – 2014-12-08 06:31:27

+0

而對於短語它應該像:HTTPS://regex101.com/r/uX1rO7/3 – 2014-12-08 06:32:31