使用正则表达式匹配字符串
Matching string using regex
我想在C++程序中编写一个正则表达式,检查字符串是否与以下表达式匹配:
不包含"_"的单词,但可以包含后面跟着的数字
'_'后接
一行三位(即047)
然后是"_",然后是
字符串(可以包含任何内容)
我尝试过下面的表达式,但它似乎找到了如上所述的所需字符串。我怀疑问题出在第一部分,但我无法检测到它以便正确修改:
static const wregex stringForm("([^_]?)_?(\d{3})_(.+)");
那么,正确的reg表达式是什么?
b[^_]*?(_d{3}.+?)?b
一个词(b
是词的边界,量词是非贪婪的)。零个或多个不是_([^_]*?
)的字符。(可选)((...)?
),您描述的数字序列(_d{3}
),后跟一个或多个任意字符(.+?
)。
你试过这个吗:
static const wregex stringForm("([a-zA-Z0-9]*_[0-9]{3}.*)");
相关文章:
- 使用正则表达式regex_search在字符串中查找字符串
- 如何在C++中使用正则表达式"|"后选择字符串?
- 如何在 c++11 中使用正则表达式找到确切的子字符串?
- 如何编写将验证以下字符串的正则表达式?
- C++带有捕获组的正则表达式字符串文本
- 如何使用正则表达式从字符串中提取值
- 使用正则表达式c++从单词和分隔符之间的字符串中提取所有子字符串
- 如何在没有外部库的情况下使用C++03约束执行基于正则表达式的字符串操作
- 需要忽略日期/序列号,但匹配字符串其余部分的正则表达式
- 如何将正则表达式向量与一个字符串匹配?
- 正则表达式匹配字符串之间的数字
- 如何根据某个索引将字符串与正则表达式匹配?
- 如何从字符串变量为正则表达式构建原始字符串
- C++ 中用于搜索字符串模式的正则表达式
- C++无符号字符串类型的正则表达式
- 如何使用正则表达式将输入数字格式化为字符串
- 使用具有特殊字符的正则表达式标记 C++ 字符串
- C 11正则表达式和字符串U8前缀
- 正则表达式:从模式字符串 1.string2'string3 中提取字符串,其中字符串 1 可以包含 '." 字符
- 在字符串正则表达式c++中查找模式