关于c 中用boost::regex正则时出现的问题,搞了我2天了,哪位大虾帮帮我啊

时间:2008-05-10 10:58:32   来源:论坛整理  作者:  编辑:chinaitzhe
我写的一个正则表达式,在RegexTester.exe工具里已经测试通过了,可以匹配出来的,可是放在c 代码中就出错了,编译通过,运行时出错,下面是代码:

char* regstr = "\s*(.*)\:\n\n.*\n\n\s 対象ドメイン\:\s (\w )\n\n\s 対象アカウント ID\:\s (. )\n\n\s 呼び出し側ユーザー名\:\s (. )\n\n\s 呼び出し側ドメイン\:\s (. )"; //这是我的正则表达式
boost::regex expression(regstr); //跑到这步再往下就报错了


我写了一个简单的正则就可以通过,不知道为什么,是不是我的正则里包括日文字符,可是我写一个简单的包括日文的又可以通过,总感觉是编码问题,可不知道怎么转换,是不是要转换成unicode编码什么的,哪位知道啊??
网友回复:什么错?

最好贴多点代码
网友回复:C 里全要\\s这类。
网友回复:
引用 2 楼 taodm 的回复:
C 里全要\\s这类。


恩,我换了\\也出错,不过现在我在用boost::wregex试了下,貌似可以了,我再多试试,希望能行,似乎要把char* regstr 的正则转成unicode编码,再用boost::wregex就可以跑通了,我再去试试
网友回复:天使怎么是裤衩?
网友回复:应该用boost::wregex,日文是宽字符的。
网友回复:支持楼上的
网友回复:
引用 5 楼 war3gu 的回复:
应该用boost::wregex,日文是宽字符的。


恩,搞定了,确实是这样的,谢谢各位,搞了几天正则头大了
关键字:中用,boost,regex,正则,出现,

相关文章

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面