std::regex
怎么用?测试一下。
-
元字符(Metacharacters)
符号 说明 .匹配任意单个字符(除换行符外)。 ^匹配字符串的开头。 $匹配字符串的结尾。 *匹配前一个元素0次或多次(贪婪)。 +匹配前一个元素1次或多次(贪婪)。 ?匹配前一个元素0次或1次(可选)。 ` ` ()分组,用于捕获子表达式。 []字符集,匹配方括号中的任意一个字符。 {n}匹配前一个元素刚好n次。 {n,}匹配前一个元素至少n次。 {n,m}匹配前一个元素n到m次(包含n和m)。
字符集(Character Classes)
符号 说明 [abc]匹配 a、b或c中的任意一个字符。[^abc]匹配不在 a、b或c中的字符。[a-z]匹配从 a到z范围内的任意字符。[0-9]匹配从 0到9范围内的任意数字。[:alnum:]匹配任意字母或数字(等价于 [a-zA-Z0-9])。[:alpha:]匹配任意字母(等价于 [a-zA-Z])。[:digit:]匹配任意数字(等价于 [0-9])。[:space:]匹配空白字符,包括空格、制表符、换行符等。 [:punct:]匹配标点符号。 [:lower:]匹配小写字母。 [:upper:]匹配大写字母。
转义字符(Escape Sequences)
符号 说明 \\匹配反斜杠本身。 \d匹配数字字符(等价于 [0-9])。\D匹配非数字字符(等价于 [^0-9])。\w匹配字母、数字或下划线(等价于 [a-zA-Z0-9_])。\W匹配非字母、非数字和非下划线字符(等价于 [^a-zA-Z0-9_])。\s匹配空白字符(等价于 [:space:])。\S匹配非空白字符。
断言(Assertions)
符号 说明 (?=...)正向先行断言,确保后面可以匹配表达式 ...。(?!...)负向先行断言,确保后面不能匹配表达式 ...。(?<=...)正向后行断言,确保前面可以匹配表达式 ...。(?<!...)负向后行断言,确保前面不能匹配表达式 ...。
贪婪与非贪婪(Greedy and Non-Greedy)
符号 说明 *?非贪婪匹配前一个元素0次或多次。 +?非贪婪匹配前一个元素1次或多次。 ??非贪婪匹配前一个元素0次或1次。 {n,m}?非贪婪匹配前一个元素n到m次。
特殊字符的匹配
如果需要匹配元字符本身(如
.、*等),需要加反斜杠进行转义。例如,匹配.需要写成\.。
Description
v1.0
Latest
Languages
C++
72.8%
CMake
27.2%