정규식에서 C # 문자열의 패턴은 무엇입니까? Visual Studio가 인식하는 모든 것과 일치하는 패턴을 의미합니다.string
이 패턴은 내가 시도한 것이지만 모든 경우에 작동하지 않습니다.
"[A-z0-9\\+;"]+"
(물론 이것은 완전하지 않으며 포함되어야 할 더 많은 문자가 있지만 여기에서도 제대로 작동하지 않습니다)
그것은이 같은 텍스트 작동 : "kla\"+;s"
하지만이 경우 : "a\"b + c"
그것은 단지에 일치합니다 "a\"
.
사실 저는 고환이 더 많이 있지만 성공하지 못했습니다.
우선이 패턴에 대해 생각 ".*"
했습니다. 이런 시나리오에서는 제대로 작동하지 "a\"+;b" + "a\"b + c"
않습니다. 실제로는 문자열이 아니라 두 개의 별도 문자열과 더하기 연산자입니다.
큰 따옴표로 묶인 모든 블록을 일치시킵니다.
@"(?<!\\)"".*?(?<!\\)"""
설명:
(?<!\\)"
네거티브 lookbehind는 일치 "
앞에 백 슬래시가 있어서는 안된다고 주장합니다 . C #에서 double ""
은 작은 따옴표를 의미합니다. 다른 하나 "
는 탈출 목적으로 사용됩니다. 따라서 시작하는 큰 따옴표가 이스케이프 된 따옴표가 아니어야합니다.
.*?
욕심 없게 모든 캐릭터와 일치하는 욕심없는 패턴
(?<!\\)"
이스케이프 처리되지 않은 큰 따옴표가 발견되었습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다