早教吧 育儿知识 作业答案 考试题库 百科 知识分享

正则表达式中含有汉字,匹配不出正确结果,怎么办?现在有一个正则表达式^([京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军]\d{12})$,我用std::tr1::regexmatch函数匹配“

题目详情
正则表达式中含有汉字,匹配不出正确结果,怎么办?
现在有一个正则表达式 ^([京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新军]\d{12})$ ,我用std::tr1::regex_match函数匹配“鲁123456789123”这个串返回的是false,显然是不对的,我试过不带汉字的可以,我现在要怎么弄才能匹配正确?
▼优质解答
答案和解析
^((京|津|冀|晋|蒙|辽|吉|黑|沪|苏|浙|皖|闽|赣|鲁|豫|鄂|湘|粤|桂|琼|渝|川|贵|云|藏|陕|甘|青|宁|新|军)\d{12})$
将汉字当成字符串,用或操作应该行吧,std这好像是C++,难道反斜杠不用转义,\d不用写成\\d就能识别?