2016-08-08 7 views
0

以下のパターンの最初の国名と一致する必要があります。国名はすべて大文字で表記されています。私は次のコードを使って試合を見ましたが、それはすべての国に一致します。このパターンはどのように一致するのですか?

'\\b[A-Z]{2,}.\\b' 

Egが:以下のパターンでは、私はちょうどUNITED KINGDOM

x = "~ London, Greater London ~ UNITED KINGDOM;~ Ottawa, Ontario ~ CANADA;~,~ AUSTRALIA;~,~ POLAND;~,~ USA" 
+0

どのようなコードを使用しましたか? –

+0

すべての文字はASCIIですか、またはUnicodeの文字はありますか? –

答えて

2

が欲しいこれが動作しているようです:

regmatches(x, regexpr('\\b[A-Z ]{2,}\\b', x)) 
# [1] "UNITED KINGDOM" 

私はただの文字が[A-Z ]を設定するためにスペースを追加しました。 regexprは最初の一致を取得し、gregexprはそれらのすべてを取得します(subと同じgsubに似ています)。

詳細については、?regexprの公式ドキュメントをお勧めします。

関連する問題