Vim
有什麼作用。匹配?
在使用正則表達式時,有人告訴我點字元
.
將匹配所有內容。除了換行符
\n
。還有其他例外嗎?NUL 字元
\0
、退格字元\b
或其他各種不可列印的 ASCII 字元呢?sed、awk、perl 和 vim 等不同的實用程序/程序在這方面的行為是否不同或相同?
來自
info regex
:3.2 匹配任意字元操作符(`.') ========================================== 此運算符匹配任何單個列印或非列印字元 除了它不匹配: 新隊 如果未設置語法位“RE_DOT_NEWLINE”。 空值 如果設置了語法位“RE_DOT_NOT_NULL”。
.
等同[^\n]
於所有標準 UNIX 正則表達式風格,但是,在 Windows 上,這通常是[^\r\n]
由於 Windows 樣式的行結尾的語法。在其他平台上,它應該評估為標準換行序列是什麼。在 Perl 和其他一些語言中,單行模式也會
.
匹配\n
(或[\r\n]
在 Windows 正則表達式等方面),使其真正匹配任何東西。請記住, 的含義
.
可能會根據上下文而改變,例如,在 POSIX 括號表達式中,點字元與文字點匹配。