2016-03-28 5 views
0

を使用してブラケットを検索します。 [を開き、]を閉じるコードを1行のコードに含めたいと考えています。私はあらゆる種類の組み合わせを試しましたが、一度に1つしかないようです。私は、次があります。1行のコードの両方のブラケットをgrepするための簡単な方法がありますgrepの

if(grepl("\\[+",CAS)) return(FALSE) 
+1

'grepl(「[\\ [\\]]」 、CAS、perl = T) ' – fanli

答えて

3

文字クラスの最初の事([]内は)角括弧(どちらか一方)であれば、それはむしろ、文字クラスの一部としてよりも、文字通りに解釈されます。これは決算いずれかに一致する単一の開口角括弧と[]]に一致するように[[]を使用できることを意味します。あなたも、ブラケットの後に物事を追加することができます(ただし、両方を一致させたい場合は、それは[][]を使用するのが最善です

例をいくつか:。

> tmp <- c('hello','[',']','[]', '[a-z]') 
> grep('[[]', tmp) 
[1] 2 4 5 
> grep('[]]', tmp) 
[1] 3 4 5 
> grep('[[].*[]]', tmp) 
[1] 4 5 
> grep('[[]az-]', tmp) 
integer(0) 
> grep('[[]]', tmp) 
[1] 4 
> grep('[][]', tmp) 
[1] 2 3 4 5 
> grep('[][az-]', tmp) 
[1] 2 3 4 5 
> regexpr('[][az-]*', tmp) 
[1] 1 1 1 1 1 
attr(,"match.length") 
[1] 0 1 1 2 5 
attr(,"useBytes") 
[1] TRUE 
関連する問題