ing
또는 ed
또는 en
으로 끝나는 단어에 대해이 Perl 정규 표현식과 동일한 Boost :: Regex는 무엇입니까?어떻게 Perl 정규식을 Boost :: Regex와 함께 사용하도록 변환 할 수 있습니까?
/ing$|ed$|en$/
...
ing
또는 ed
또는 en
으로 끝나는 단어에 대해이 Perl 정규 표현식과 동일한 Boost :: Regex는 무엇입니까?어떻게 Perl 정규식을 Boost :: Regex와 함께 사용하도록 변환 할 수 있습니까?
/ing$|ed$|en$/
...
/^[\.:\,()\'\`-]/
는
"^[.:,()'`-]"
특수한 Perl Regex Delimiter /
은 C++에 존재하지 않으므로 regexes는 단지 문자열입니다. 이 문자열에서는 백 슬래시를 올바르게 이스케이프 처리해야합니다 (원래 정규식에서 \
에 대해 \\
). 예를 들어, 모든 백 슬래시는 불필요하므로 완전히 삭제했습니다.
다른주의 사항이 있습니다. 내가 아는 한, Perl의 일부 기능 (가변 길이 lookbehind와 같은)은 Boost 라이브러리에 존재하지 않는다. 그래서 단순히 어떤 정규식을 번역하는 것이 가능하지 않을 수도 있습니다. 그래도 예제는 괜찮을 것입니다. 그들 중 일부는 이상하지만. .*[0-9].*
은 all numbers
이 아닌 어딘가에 숫자가 포함 된 문자열과 일치합니다.
가장 중요한 차이점은 문자열 C++에서 regexps '에 그렇게 모든 정규 표현식 특정 백 슬래시 시퀀스 (예 : \w
및 \d
로 ("\\w"
및 "\\d"
)
이 perl 표현식은 어떻게 되나요? '/ O $ /' perl 표현식의 끝에 $의 의미는 무엇입니까? 또 다른 질문은 다음과 같습니다. "^ B_"표현식을 부스트로 작성하면 무엇을 의미합니까? – Yadollah
이스케이프는 Perl에서 문자 클래스 ('[...]') 안에 필요하지 않습니다. – mob
. 그들은 불필요한 것으로 시작되었습니다. 경우에 따라 불필요한 백 슬래시는 구문 오류 (예 : \ <<)가 될 수도 있습니다. –