regex仅限1个字符和空格
regex 1 character and space only
嗨,我正在学习正则表达式。。我试图为以下条件生成正则表达式:
- 以下给出的序列中的任何字母——C-MPSTV-XZ条件是不应重复
-
这封信的正面或背面可以有一个空格,即可以是"C"或"C"
[C-MPSTV-XZ{1}]{2}
我正在尝试上面的表达式{1},它只需要一个字符,后面的空格只允许一个空格。在字符串的末尾,我放入{2},只得到2个字符。
对于输入"XX",我期望regex_match为false,但它不起作用。
感谢你的帮助。
s?[C-MPSTV-XZ]s?
。如果您正在使用CCD_ 2,您不应该需要其他任何东西,因为regex_match
需要整个字符串上的匹配。
您发布的regex将匹配两个都不是空格的字符,因为您要求从字符类中任意两个字符。您还将接受{
、1
和}
作为字符,因为量词在字符类中充当字面字符。
简单的替代方案是明确地说明两个条件:
( [C-MPRSTV-XZ]|[C-MPRSTV-XZ] )
这假设正则表达式引擎将正则表达式中的空格视为重要空格。如果不喜欢,或者不喜欢,请用合适的转义序列替换空格。
相关文章:
- iStream 运算符跳过空格字符
- QString 从行首或行尾修剪非空格字符
- 将字符串分为连续的非空格字符的序列
- 在C 中查找非空格字符
- 查找下一个文件失败,出现空格字符
- 如何添加一个空格字符来触发 var args c++ execlp()
- 如果 C++ stdlib 流的解析数字紧跟非空格字符,如何引发错误
- 如何在重载提取运算符中读取行(忽略空格字符)
- 标记 CString 问题与制表符空格字符
- 检测空格字符 t、 等
- 使用 getchar() 输入字符的最有效方法,就像 cin 中没有换行符和空格字符一样C++
- 将空格字符添加到附加的每个项目,以必须擦除最后一个项目.如何改进
- c字符串 删除非字母/非空格字符 - C++
- Eclipse在运行调试器时破坏了带有空格字符的程序参数
- 打印n个空格字符-(f)printf格式
- 将字符串转换为char,空格字符未正确转换
- C++ 字符串.比较 不接受空格字符
- 第二个空格字符之后的字符串
- 为什么在Windows上std::fopen和std::filebuf::open会裁剪尾随空格字符
- Fstream排序-不需要一个空格字符