My Blog

Regex

正则表达式(Regular Expression)

正则表达式常用来处理文本信息,所以在此记录一些符号表示的意思,以便日后参考。

单个匹配符号

即每个符号仅代表一个字符

.     - Any Character Except New Line
        // 点,代表除了换行外的任意字符

\d    - Digit (0-9)
        // \d, 代表数字 0-9

\D    - Not a Digit
        // \D, 代表非数字(大写表示非)

\w    - Word Character (a-z, A-Z, 0-9, _)
        // \w, 代表单词字符 a-z, A-Z, 0-9, _
        // 就像 C 语言中变量的命名只能是字符、数字、下划线

\W    - Not a Word Character
        // \W, 代表非单词字符

\s    - Whitespace (space, tab, newline)
        // \s, 代表空白符 空格、Tab、换行

\S    - Not a Whitespace
        // \S, 代表非空白符

\b    - Word Boundary
        // \b, 代表单词界限,界限之外是非单词字符。
        //常有三种用法:"\bword", "word\b", "\bword\b"

        /* 
        例:"This island is beautiful"
            1. 用 \bis 会匹配到'island' 和 'is', 即 \bis 会限定 is 前必须为非单词字符,后则不考虑
            2. 用 is\b 会匹配到'This' 和 'is', 即 is\b 会限定 is 后必须为非单词字符,前则不考虑
            3. 用 \bis\b 会匹配到'is', 即 \bis\b 会限定 is 前后必须为非单词字符
        */

\B    - Not a Word Boundary
        // \B, 代表选择非单词界限,界限之外是单词字符

^     - Beginning of a String
        // ^ , 代表一个字符串是以什么为开头

$     - End of a String
        // $ , 代表一个字符串是以什么为结尾

[]    - Matches Characters in brackets
        // [], 代表字符集,即该位置的字符能从字符集中找到

[^ ]  - Matches Characters NOT in brackets
        // [^ ], 代表该位置的字符不是字符集中的

|     - Either Or
        // |,代表或者,类似 C 中的"||"

()    - Group
        // (), 代表分组,常与 | 连用来匹配字符串

数量限定词

给以字符数量上的限定,来达到更加简便的书写效果

*       - 0 or More
        // 代表前面的一个字符出现的次数不受限,可以是 0次、1次、更多次

+       - 1 or More
        // 代表前面的一个字符出现的次数至少为 1次
?       - 0 or one
        // 代表前面的一个字符出现的 0次或 1次

{3}     - Exact Number
        // 代表前面的一个字符出现的次数为 3次

{3, 5}  - Range of Numbers (Min, Max)
        // 代表前面的一个字符出现 3次,4次或 5次

note: 想要匹配以上的修饰符,则需加反斜杠才能使用。类似于 C 中的转义字符。

比如:'\.', '\^', '\$', '\*', '\+', '\?'

Reference常见的正则表达式