正規表現(Regular Expression)REGEX

1441 ワード

A formal language for specifying text strings
正規表現はテキストモードのマッチングに明確で簡潔な文法を提供し、文字関数を処理する際に、簡単で迅速な方法を提供し、特定のビットテキストを検索して検索する考えを拡張し、より広範なモードに適したテキストもあります.
たとえば、正規表現:
^[hc]?at

0個または1個のhまたはcで始まる、後続のatの任意の文字列と一致することができる.したがって、この式はhat、cat、atと一致することができますが、batは一致しません. 
正規表現は言語理論を形式化して表現することができる.正規表現は定数と演算子で構成され、文字列の集合とこれらの集合での演算をそれぞれ示す.正規表現は、文字と文字の組み合わせ、メタ文字とみなすことができる.したがって,自然言語を類比するためには,文字テキスト形成言語の単語とその文法を定義するメタ文字を考慮する.
異なる言語には異なる実装があり、正規表現には豊富なメタ文字があり、文字列検索によって特定の関心パターンを識別することができます.具体的には、接続を参照してください.
regexの異なる言語での使い方の違い
REGEXの運用分野は極めて広く、よく見られる:
(1)文字列が指定された特徴に合致しているかどうかを検証する.例えば、正当なメールアドレスであるかどうかを検証する.
(2)文字列を検索するために使用され、1つの長いテキストから指定された特徴に合致する文字列を検索することは、固定文字列を検索するよりも柔軟で便利である.
(3)置換に用いられ,通常の置換よりも強力である.
 
最後に役立つ文字処理関数をいくつか追加します.
nchar(x)
xの文字数xを計算する
substr(x, start, stop) 
文字ベクトルのサブストリングの抽出または置換
grep(pattern, x, ignore. case=FALSE, fixed=FALSE) 
xであるパターンを検索します.fixed=FALSEの場合、patternは正規表現です.fixed=TRUEの場合、patternはテキスト文字列です.戻り値が一致する下付き
sub(pattern, replacement, x, ignore.case=FALSE, fixed=FALSE)
xでpatternを検索し、テキストreplacementで置き換えます.fixed=FALSEの場合、patternは正規表現です.fixed=TRUEの場合patternはテキスト文字列
strsplit(x, split, fixed=FALSE) 
文字ベクトルxの要素をsplitで分割します.fixed=FALSEの場合、patternは正規表現です.fixed=TRUEの場合patternはテキスト文字列
paste(…, sep="") 
接続文字列、セパレータsep
toupper(x) 
大文字変換
tolower(x) 
小文字変換