正则表达式匹配
我有一个功能可以检查输入的行是否“OK”。
#include <tr1/regex>
bool lineIsValid(string line) {
const tr1::regex pattern("[^-]{1,30} - [^-]{1,30}");
return tr1::regex_match(line, pattern);
}
lineIsValid("test - test");
该函数返回 false。为什么?
I have one function for checking, whether entered line is "OK".
#include <tr1/regex>
bool lineIsValid(string line) {
const tr1::regex pattern("[^-]{1,30} - [^-]{1,30}");
return tr1::regex_match(line, pattern);
}
lineIsValid("test - test");
the function returns false. Why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
也许语法没问题,但取决于实现。
查看此帖子。
或者这个:
Perhaps the syntax is ok, but depends on the implementation.
Check this post.
Or this:
我本以为应该匹配。
tr1 库的实现中是否存在潜在的错误?也许它与用作范围说明符的“-”混淆了。
I would have thought that should match.
Is there potentially a bug in the implementation of the tr1 library? Maybe it is getting confused with the "-" that is used as the range specifier.