>백엔드 개발 >C++ >C#에서 Regex를 사용하여 전체 단어만 일치시키려면 어떻게 해야 합니까?

C#에서 Regex를 사용하여 전체 단어만 일치시키려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-22 20:02:10634검색

How Can I Use Regex in C# to Match Whole Words Only?

정규 표현식을 사용하여 C#에서 완전한 단어 일치

프로그래밍에서는 문자열에서 특정 단어를 추출해야 하는 경우가 많습니다. C#에서 정규식(Regex)은 이러한 작업을 위한 강력한 도구를 제공합니다. 그러나 생각하지 않으면 전체 단어를 일치시키는 것이 까다로울 수 있습니다.

다음 시나리오를 고려해 보세요. 의류 매장 웹사이트가 있고 '신발', '셔츠', '바지' 등 의류와 관련된 단어를 일치시키려고 합니다. 정규 표현식을 작성하셨습니다:

<code>string keywords = "(shoes|shirt|pants)";</code>

다음 코드를 사용하여 콘텐츠 문자열에서 해당 단어를 찾아보세요.

<code>Regex.Match(content, keywords + "\s+",
  RegexOptions.Singleline | RegexOptions.IgnoreCase).Success</code>

그러나 이 정규식은 "pants"가 하위 문자열로 포함되어 있기 때문에 "participants"와 잘못 일치합니다. 정확한 단어만 일치시키려면 \b으로 표시되는 단어 구분 기호를 사용해야 합니다.

수정된 정규식은 다음과 같습니다.

<code>\b(shoes|shirt|pants)\b</code>

단어 구분 기호를 추가함으로써 이제 정규식은 일치하는 단어의 앞뒤에 공백, 구두점 또는 문자열의 시작/끝이 올 것으로 예상합니다. 코드에서 이 수정된 표현식은 다음과 같습니다.

<code>Regex.Match(content, @"\b(shoes|shirt|pants)\b");</code>

이 수정을 통해 정규식은 콘텐츠 문자열에서 문자 그대로의 단어 "신발", "셔츠" 및 "바지"와만 일치합니다.

위 내용은 C#에서 Regex를 사용하여 전체 단어만 일치시키려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.