C ++正则表达式无效字符(冒号)

时间:2012-07-25 02:18:53

标签: c++ regex character colon

我有这行代码

regex rgx("([A-Z0-9#\:])");

它一直告诉我,我的冒号是一个无效的角色。 我是否逃避。 有帮助吗? 谢谢!

2 个答案:

答案 0 :(得分:3)

你需要使用两个反斜杠,就像在C ++(以及在C中)一样,使用单个反斜杠来引入特殊字符(例如换行符为"\n")。

尝试:

regex rgx("([A-Z0-9#\\:])");

答案 1 :(得分:0)

你正试图逃避在字符类之外没有特殊含义的冒号字符。

也许你应该关闭你的角色类?

"[A-Z0-9#\:]"