如何使用RegExp验证字符串表达式

How to Validate string Expression using RegExp?

本文关键字:字符串 表达式 验证 RegExp 何使用      更新时间:2023-10-16

我有一个字符串"03COUNTERTIME_NOW"

COUNTER前缀允许的最小到最大范围为01到09

例子:

02计数器 TIME_NOW:有效的

"10COUNTERTIME_NOW":无效

"0COUNTERTIME_NOW":无效

"88COUNTERTIME_NOW":无效

可以有人给出如何获得状态的有效/无效使用正则表达式?

\0[1-9]COUNTER\TIME_NOW是您要查找的正则表达式。

#include <iostream>
#include <string>
#include <regex>
int main ()
{
    if (std::regex_match ("\02COUNTER\TIME_NOW", std::regex("\\0[1-9]COUNTER\\TIME_NOW") ))
        std::cout << "validn";
    else
        std::cout << "invalidn";
    if (std::regex_match ("\10COUNTER\TIME_NOW", std::regex("\\0[1-9]COUNTER\\TIME_NOW") ))
        std::cout << "validn";
    else
        std::cout << "invalidn";
    if (std::regex_match ("\00COUNTER\TIME_NOW", std::regex("\\0[1-9]COUNTER\\TIME_NOW") ))
        std::cout << "validn";
    else
        std::cout << "invalidn";
    if (std::regex_match ("\88COUNTER\TIME_NOW", std::regex("\\0[1-9]COUNTER\\TIME_NOW") ))
        std::cout << "validn";
    else
        std::cout << "invalidn";
    return 0;
}

打印

valid
invalid
invalid
invalid