, 내가 원 스타 기호에 맞게 노력하고 wregex, http://graphemica.com/%E2%9C%AA)공통 문자 ' P는 {S}는'
#include <boost/regex.hpp>
//...
std::wstring text = L"a✪c";
auto re = L"(\\p{S}|\\p{L})+?";
boost::wregex r(re);
boost::regex_token_iterator<std::wstring::const_iterator>
i(boost::make_regex_token_iterator(text, r, 1)), j;
while (i != j)
{
std::wstring x = *i;
++i;
}
//...
text
의 바이트 값 ', {97, 10026, 99}
(또는 {0x61,0x272A, 0x63}). 유효한 기호입니다.
이 코드는 2 개 문자, 'a'
0x61
및 'c'``0x63
아닌 기호 ✪
(0x272A
)을 일치합니다. 나는 몇 가지 다른 기호로 시도했지만 그 중 아무 것도 작동하지 않습니다 (예를 들면).
무엇이 여기에 있습니까?
흥미롭게도,'✪'과'©'모두'\ p {So}'범주에 속합니다. '\\ p {So}'나'auto re = L '[\\ p {So} \\ p {S} \\ p {L}] "; (한 번에 1 기호를 찾으려면 '+?'는 중복됩니다.) –
그것은 작동하지 않는 것, 나는 다음과 같은 오류를 얻을 '시퀀스는 유효한 특성도 유효한 문자 클래스의 이름도 있었다 탈출. 정규 표현식을 구문 분석하는 동안 오류가 발생했습니다 : '(\ (P)가 {그래서} >>> 여기 >>>)'' – FFMG