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 :常见的正则表达式