web-dev-qa-db-ja.com

-\\ d、\\ D、^、$などの正規表現の意味

これらの表現はどういう意味ですか?それらの使用法についてどこで知ることができますか?

\\d 
\\D 
\\s 
\\S 
\\w 
\\W
\\t 
\\n 
^   
$   
\   
|  etc..

stringrパッケージを使用する必要がありますが、これらの使用方法がまったくわかりません。

3
Pankaj Kaundal

?regexpから、拡張正規表現セクションで:

キャレット「^」とドル記号「$」は、それぞれ行の最初と最後の空の文字列に一致するメタ文字です。記号「\ <」と「>」は、単語の最初と最後の空の文字列と一致します。記号「\ b」は単語のいずれかの端にある空の文字列に一致し、「\ B」は単語の端にない場合は空の文字列に一致します。 (「Word」の解釈は、ロケールと実装によって異なります。これらはすべて拡張機能です。)

FromPerlのような正規表現

エスケープシーケンス '\ d'、 '\ s'、および '\ w'は、任意の10進数、スペース文字、および 'Word'文字(現在のロケールでは文字、数字、またはアンダースコア:UTF-8モードのみASCII文字と数字が考慮されます)、それらの大文字バージョンはそれらの否定を表します。垂直タブは、PCRE 8.34(R 3.0.3に含まれる)以前の「C」ロケールではスペース文字とは見なされませんでした。 。シーケンス '\ h'、 '\ v'、 '\ H'、および '\ V'は、水平および垂直スペースまたは否定に一致します(UTF-8モードでは、これらは非ASCII Unicodeコードポイントに一致します)。

バックスラッシュは通常、R入力で2倍/保護する必要があることに注意してください。 "\\h"を使用して水平方向のスペースを一致させます。

?Quotesから:

バックスラッシュは、文字定数内でエスケープシーケンスを開始するために使用されます。次の表にない文字をエスケープするとエラーになります。
\n改行
\rキャリッジリターン
\tタブ

他の人が上記でコメントしているように、正規表現を初めて使用する場合は、もう少し助けが必要になる場合があります。これはStackOverflow(オフサイトリソースへのリンク)のトピックから少し外れていますが、 gsubfnパッケージの概要 の下部に正規表現リソースへのリンクがいくつかあります。またはGoogleの「正規表現チュートリアル」.。

3
Ben Bolker