new Regex(@"\n|\r|\\|<|>|\*|!|\$|%|;");
위 정규식 예제가 있지만 실제로 찾으려고하는 것을 이해할 수 없습니다. 누구든지 내게 손을 줘 줄래?C# Regex 메서드에 대해 설명합니다.
new Regex(@"\n|\r|\\|<|>|\*|!|\$|%|;");
위 정규식 예제가 있지만 실제로 찾으려고하는 것을 이해할 수 없습니다. 누구든지 내게 손을 줘 줄래?C# Regex 메서드에 대해 설명합니다.
정규식은 alternation 운영자 |
로 구분 된 문자 중 하나와 일치의 의미를 가지고있는 여분의 \
로 이스케이프해야합니다. 이 ($
및 *
이 metacharacters 정규식 때문에 \n
또는 줄 바꿈 및 캐리지 리턴에 대한 \r
, 또는 \$
리터럴 달러 기호 및 \*
같은 리터럴 별표를위한) 몇 가지 특수 문자가 있지만, 그 이외의, 그것은 아주 간단합니다. 유효한 문자 목록에서 하나의 문자와 일치를위한 말했다
하는 character class는 일반적으로 더 나은 선택입니다뿐만 아니라 메타 탈출 덜 필요가 있기 때문에 : 정규식에서
new Regex(@"[\n\r\\<>*!$%;]");
: \n
, \r
는, \
는, <
는, >
는, *
는 !
는, $
는 %
|
는 정규식 OR 연산자입니다.
일부 문자들은 정규식 lanugage (\
, $
, ...)
|
은 교대 연산자입니다. A|B
은 A
또는 B
과 일치한다는 것을 의미합니다. 또한 같은 것을 의미하는 문자 클래스 인 [AB]
을 사용하여 작성할 수도 있습니다.
character class을 사용하는 이점은 *
처럼 외부에서 수행해야하는 정규식 메타 문자를 이스케이프 처리 할 필요가 없다는 것입니다. 따라서 정규 표현식은 다음과 같이 짧게 할 수 있습니다.
new Regex(@"[\n\r\\<>*!$%;]");
+1 문자 클래스로 줄이면 –