2014-02-20 80 views
0

如何寫一個正則表達式來匹配大寫字母的所有單詞,但不匹配「a.BackGround = 1」中的BackGround。如何寫一個正則表達式來捕獲大寫字母除外的所有單詞

例如,

我有FireFox和Safari。我設置a.BackGround = 1

在上面的句子,我想匹配火狐Safari瀏覽器,但不背景

+0

不符合'「a.BackGround = 1'的標準是什麼? – Toto

+0

因爲我想保留代碼片段。 – smwikipedia

+0

在您的示例中,爲什麼不匹配'I'和'And'? – Toto

回答

2

這是不夠的:

(?:^|\s)([A-Z]\S*) 

這個詞是在組1

+0

很好的答案我有點晚,但不錯的工作 – Amitesh

+0

如果你想在一個單詞中選擇3個以上的字母表,那麼你可以使用這個,如果你想(?:^ | \ s)[ AZ] \ w {3,}在這個I&And中沒有選擇with a.BackGround = 1 – Amitesh

+0

\ S也會選擇一個「。」字符。根據問題,任何類似於代碼的東西(例如「 A.Background「)不應該被匹配,用\ w代替\ S應該做的訣竅 –

1

我不知道該怎麼好,這將適用於其他情況,但到目前爲止這一切都是你的信息給我們。

這會自己承擔,沒有必要捕捉組匹配的話,除非你選擇使用它們:

(?<=\s|^)[A-Z]\w*

如果匹配比較複雜,或適用於超過只是您給我們的示例文本,請讓我知道。

相關問題