Vim

有什麼作用。匹配?

  • September 21, 2011

在使用正則表達式時,有人告訴我點字元.將匹配所有內容

除了換行符\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 括號表達式中,點字元與文字點匹配。

引用自:https://unix.stackexchange.com/questions/21205