【发布时间】:2013-03-21 12:57:49
【问题描述】:
有谁知道如何在 c++ 中为特殊字符制作增强模式?
这不仅意味着("[A-Za-z0-9 \\s]*")
但_ + - \ ) \\ ( . | ] 等也是如此,例如这样的字符串:
"hello world \\has (special.characters) + defined_with[boost]" 有效
但是
"!hello world \\has (special.characters) + defined_with[boost]" 无效
更具体地说,是这样的:
string input;
getline(cin,input);
boost::regex pattern1 ("[a-zA-Z0-9 \\s \\_ \\+ \\- \\\ \\) \\\\ \\( \\. \\| ]*");
if (!regex_match (input, pattern1))
{
cout << "invalid input" << endl;
}
else
cout << input << " - is valid" << endl;
如果您能提供任何帮助,我将不胜感激
【问题讨论】:
-
将它们添加到列表中,但用反斜杠转义它们。我不知道是否有“特殊字符”的字符组,但我不这么认为。
-
会尝试一下,谢谢
-
这个问题很不清楚。您可以发布您想要使用的这些正则表达式之一的示例吗?
-
你确定你需要正则表达式中的所有空格字符吗? (我已经知道答案了)
-
是的,我不需要这些空格字符,你是对的。我只是不确定如果 "\\\ 和 \\\\" 之间没有空格字符会发生什么。