주석 및 문자열에 키릴 문자가있는 소스 코드가 있습니다. MSVC는 식별자에 키릴 문자를 허용합니다. 모든 의견과 문자열을 무시하고 모든 키릴 문자를 찾는 방법? 나는 gcc 나 스크립트를 사용하지 않고 간단하게 정규식 검색을하고 싶다. 코멘트를 찾는 것이 어렵지 않습니다 /*.*?*/, 그러나 ASCII 문자 세트가 아닌 주석에서 찾을 수있는 방법은 무엇입니까?비 ASCII 주석이있는 C++ 코드에서 비 ASCII 문자 발생을 확인하십시오.
1
A
답변
0
모든 댓글은 '// *'처럼 행동한다고 가정합니다. '/ * comment * /'인 경우에도 - 댓글이 시작되면 댓글 뒤에 더 많은 코드가 표시되지 않습니다. 같은 줄. 다음을 통해 소스 파일을 파이핑 해보십시오.
perl -lne 'print $1 if m{^([^/]+)(?:/[/*])?}'
이렇게하면 의견을 제외한 모든 것을 얻을 수 있습니다.
나머지 문제는 문자 집합의 기능입니다. Windows-1251 인 경우 다음과 같은 패턴을 찾을 수 있습니다. '[^\x00-\x7f]+'
+0
질문은 하나의 정규식을 통해 소스를 파이프 처리하고 주석을 잘라 내고 다른 정규식과 비교하는 것이 아닙니다. 문제는 하나의 정규식에서 동시에 잘라내어 일치시키는 것이 었습니다. 예를 들어, MSVC에서 정규식을 검색 할 때 유용합니다. – ZAB
관련 문제
- 1. 해싱 비 ASCII 문자 C#
- 2. Matplotlib의 비 ASCII 문자
- 3. PHP에서 비 ASCII 문자?
- 4. 비 ASCII 문자 제거
- 5. fopen 비 ASCII 문자 오류
- 6. XML에서 비 ASCII 문자 읽기
- 7. 정규 표현식 비 ASCII 문자
- 8. C++에서 비 ASCII 문자열 색인 문자
- 9. matlab에 비 ASCII 문자가 있는지 확인하십시오.
- 10. 자바 (그루비) LDAP 비 ASCII 문자
- 11. Template2pdf, django 부정확 한 비 ASCII 문자
- 12. Ruby/LDAP 비 ASCII 문자 지원
- 13. URL의 비 ASCII 문자, SEO에 좋든 나쁨일까요?
- 14. Rspec 테스팅에서 비 ASCII 문자 처리
- 15. 텍스트 파일에서 비 ASCII 문자 읽기
- 16. MySQL 데이터베이스에 비 ASCII 문자 허용
- 17. 앱 엔진 애플리케이션에서 비 ASCII 문자 사용
- 18. 구문 에러 : 비 ASCII 문자 '\ XD1'
- 19. 도움말 파이썬에서 비 ASCII 문자 대체
- 20. textField의 비 ASCII 문자 처리 : shouldChangeCharactersInRange : replacementString :
- 21. LLVM에서 비 ASCII wchar_t 리터럴
- 22. ASCII 문자
- 23. 비 ASCII 문자가 표시되지 않습니다.
- 24. 대문자와 비 ASCII 문자열 비교
- 25. 비 ASCII char 또는 C++의 정수
- 26. 비 ASCII 문자열을 배열 및 문자로 처리
- 27. ASCII 문자와 비 ASCII 문자를 포함하는 문자열 반전
- 28. C/C++에서 문자열 리터럴에 비 ASCII 문자를 삽입하는 방법
- 29. 웹 크롤러와 비 ASCII 문자의 URL에서
- 30. 자바 정규식은 비 ASCII 값을 지원합니까?
정규식을 사용해야합니까? –
음. '// 이것은 C++의 주석입니다.''this \ "는 문자열 \\"'이므로 (항상 정규식과 같이) 여러분이 말하는 것보다 더 많은 것이 있습니다 ;-) –
문자열의 주석 구분 기호 사이 , 주석의 문자열,'#if 0', digraphs, trigraphs 등등. 코드베이스가 꽤 제한되어 있지 않거나, 꽤 잘못된 것들을 기꺼이 참아 내지 않으면 regexes로부터 의미있는 결과를 얻는 것이 어려울 것입니다 결과 .IOW, @SteveJessop은 맞습니다.하지만 실제로 의미하는 것보다 훨씬 더 나쁩니다. –