在平時調試過程中,有時候需要打印很多高頻log,通過正則表達式可以很輕易的匹配出需要的信息。
常用語法:
[ABC] | 匹配 [...] 中的所有字符 |
[^ABC] | 匹配除了 [...] 中字符的所有字符 |
[A-Z] | [A-Z] 表示一個區間,匹配所有大寫字母,[a-z] 表示所有小寫字母 |
. | 匹配除換行符(\n、\r)之外的任何單個字符,相等於 [^\n\r] |
[\s\S] | 匹配所有。\s 是匹配所有空白符,包括換行,\S 非空白符,包括換行 |
\w | 匹配字母、數字、下划線。等價於 [A-Za-z0-9_] |
\n | 匹配一個換行符。等價於 \x0a 和 \cJ |
\r | 匹配一個回車符。等價於 \x0d 和 \cM |
\ | 轉義 |
$ | 匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \* |
+ | 匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+ |
^ | 匹配輸入字符串的開始位置,除非在方括號表達式中使用,當該符號在方括號表達式中使用時,表示不接受該方括號表達式中的字符集合 |
? | 匹配前面的子表達式零次或一次 |
* | 匹配前面的子表達式零次或多次 |
舉例:
匹配以error開頭的整行字符串
^error.*$
匹配以error結尾的整行字符串
^.*error$
如下匹配任意含error的整行
^.*error.*$