문자열에 패턴이 포함되어 있는지 확인해야합니다. "A"로 시작하고 그 뒤에 0 개 이상의 공백이 있고 "B"가 아닌 다른 항목이 있습니다.
따라서 다음이 일치해야합니다 "A"
.. "AX"
, "A X"
, "A "
,"A XB"
다음 문자열은 일치하지 않아야합니다. "AB"
,"A B"
내 순진한 시도는 A\s*(?!B)
했지만 바람직하지 않은 것과 일치합니다 "A B"
.
참 또는 거짓이 필요한 경우 \s*
미리보기에를 넣을 수 있습니다 .
Regex.IsMatch(s, @"A(?!\s*B)")
A
뒤에 0+ 공백이없는 것을 찾습니다 B
.
regex 데모를 참조하십시오 .
패턴 A\s*(?!B)
에서 부정 예견은 0 개 이상의 공백 이후에 실행될 수 있으며 뒤 따르지 않은 공백 B
이 발견되면 유효한 일치가 반환됩니다 ( \s*
정량화 된 패턴 덕분에 가능한 역 추적로 인해 발생 ).
실제로와 그 A
뒤의 공백을 일치시켜야 하지만 이러한 공백이 뒤에 오지 않으면 B
내 의견의 패턴을 사용하십시오.
(?>A\s*)(?!B)
이 패턴은 다음과 일치합니다.
(?>A\s*)
- 원자단이 일치 A
하고 0+ 공백 그룹 패턴으로 없음으로 되돌아가 허용(?!B)
- B
공백이 없으면 전체 일치가 실패합니다.이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다