正規表現で、[:blank:]、[:space:]、および\ s-の違いは何ですか?


7

私はrx最近遊んでいますが、正規表現で空白を示す方法が(少なくとも)3つあることに気づきました。

  1. [:blank:]
  2. [:space:]
  3. \s-

それぞれの違いは何ですか?メジャーモードに依存しますか?


3
Emacsは何と言っていますか?[:space:]\s-同じである。)C-h i、elispのマニュアル、C-s [:space]
2014年

「遊んでいる」;)
Sean Allred 14年

回答:


7

[:blank:]文字クラスはSPCとTAB文字に一致します。他の2つは、アクティブな構文テーブルに基づいて空白に一致します。

違いがあるようには思えない[:space:]\s-。後者は、構文クラスに基づいて照合するため一般的な\ s コードパターンインスタンスです。


1
追加の文字を空白にするために、バッファ内の構文テーブルを変更する簡単なテストを行いました。テストregexp-builder私は両方のことを確認することができます[:space:]し、\s-スペースなどの追加の文字に一致します。
グルカ2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.