正規表現の問題で立ち往生しています。空白や改行ではないものと一致させたい。
空白ではありません:
[^ ]
空白や改行がないという意味ではありません:
[^( |\n)]
いいえ、
[^( |\n)]
「スペース、、、、、、または改行(
のいずれ)
でもない任意の文字を意味します。|
これは文字クラス[]
と呼ばれます。これは、リストの1文字に一致し、オプションで先頭が否定されます。^
あなたが欲しいのは
[^ \n]
(または\S
、ラインフィード、フォームフィード、タブを合法的な一致の範囲から除外する場合)。
タブも除外してもかまわない場合は、空白、タブ、改行をそれぞれ含めるか除外する\sおよび\Sショートカットを使用できます。
あなたの場合、正規表現'\ S'は、空白、タブ、または改行以外の任意の文字と一致します。
クイックリファレンスガイドから:http://www.regular-expressions.info/reference.html
[^\s]
Rでどのように表示されるかはわかりませんが、一般的に\sは白い文字を意味しますhttp://www.regular-expressions.info/charclass.html#shorthand
または\S
、[^\s]
は同等です。