ISAPI의 재작성 필터를위한 정규 표현식
최대 Bossi가 작성한 기사
3 페이지 1
3 페이지 1
년 이전 기사 내 친구이자 동료인 루카 Ruggiero에 의해 우리는 IIS를 다시 작성 URL에 ISAPI 필터 작업을 시작하는 방법을 보았다.
이 문서는 이전에 시작한 노선의 연장의 일종으로 서 있고 점점 복잡하고 정규 표현식의 지원으로 인해 복잡한 다시 작성 지침을 개발할 수 있도록하기 위해서는 이론 비트 '를 설명하는 것을 목표로하고있다.
(기사는 아래에 계속됩니다 ...)
특수 문자
우리는 CD를 확인하여 시작합니다. 특수 문자, 또는 고전적인 결합 텍스트와 관련하여 특별한 의미를 가지고 그 캐릭터 :
| 문자 | 의미 |
| . | 모든 문자 |
| * | 왼쪽에있는 문자의 0 개 이상 반복 |
| + | 왼쪽에있는 문자 중 하나 이상 반복 |
| ? | 왼쪽으로 문자가 존재하거나하지있을 수 있습니다 |
| | | 또는 어떤 사이에 오른쪽과 왼쪽에 |
| ^ | 문자 집합 내에서 사용하는 경우 부정의 라인 또는 기호의 시작 |
| $ | 라인의 끝 |
| (E) | 그들은 하위 표현식을 만드는 데 사용되며, 혹은 $ N으로 호출됩니다 변수를 식별하기 위해 |
| {과} | 왼쪽에있는 문자열의 최소 및 최대 길이를 표시하는 데 사용됩니다 |
| [그리고] | 그것은 문자 집합을 포함 |
이러한 특수 문자의 의미를 더 잘 이해하는 몇 가지 예입니다.
.모든 문자를 의미하므로 (uno!) 모든 문자를 허용합니다.
. *위의 표현식은 항상 빈 문자열이 어떤 문자열이, 우리의 기호로 모든 문자를 무한정 반복 (제로에서 무한대까지)가 포함되어있다는 것입니다 허용 그것에 만족하고 있습니다.
AB *이 표현식은 다음과 같은 결과와 함께 테스트됩니다 : "", "AB", "ABB", "abbb", "abbbb", ...
AB +"AB", "ABB", "abbb"에서 발생 ... 하지만 'A'로!
AB?""또는 "AB"로 발생합니다.
AB {2.4}
"ABB", "abbb", "abbbb"함께 발생합니다.
^ A. *문자 "A"로 시작하는 문자열로 발생
. * Z $"Z"문자로 끝나는 모든 문자열과 발생
^ C. * $"C"와 문자 'A'로 끝나는로 시작하는 문자열로 발생합니다. 예를 들면 : "집", "종이", "접착제"등.
ABC | DEF"ABC"로 또는 "데프"가 발생한다
(B | C)"AB"로 또는 "AC"가 발생합니다. 이것을 달성하기 위해 우리 예제의 경우, "B"와 "C"사이의 선택, 숙고 하위 표현식을 만드는 데 괄호 한 쌍을 사용
[아즈]는대괄호의 사용을 통해 우리는 문자 집합을 만들었습니다. 우리의 예제에서는 "Z"를 통해 "A"에 이르기까지 캐릭터의 범위를 제공하고 전체 알파벳을 포용했습니다.
우리는 사건에서만 후반에만 소문자와 일치합니다 첫 번째 경우와 같이 "AZ"의 사용은 "AZ"과 동일하지 않습니다.
는 [a-zA-Z]위의 표현 그러나, 이러한 모든 문자 대소문자 구별을 수락하는 방법을 우리에게 보여줍니다.
[0-9]이 표현은 0과 9 사이의 번호를 제공합니다.
[^ 0-9]이 용어는 숫자를 제외한 모든 문자를 포함합니다. 우리는 세트, 특수 문자 ^의 시작 부분에서, 부정을 사용하여이 작업을 완수.
확실히, articulating하고 위에 다양한 예제를 결합하면 우리는 가능성의 거의 무한한 숫자를 제공할 수있는 방법을 볼 수 있습니다.
마지막으로, 물론, 우리는 그러한 단순한 문자 즉, 그들의 전통적인 가치에 제공할 수 위의 문자를 볼 수있다는 가능성을 고려해야합니다.
이 경우에 우리는 일반 문자로 사용하려는 특수 문자 앞에 이스케이프 문자 (\)를 사용합니다.
예를 들어 우리는 esepressione, 문자열 "page.html에"의 형태로 작성하는 방법을 참조하십시오.
우리가 요점이 간단한 포인트로 사용할 그러므로 특수 문자이며, 아시다시피 우리는 이렇게 할 필요가 :
페이지 \. html로당신이 그 일반 리터럴 값을 그것을 사용하려는 경우 참고 물론, 같은 이스케이프 문자인지 바람에 따라서 특수 문자하고, 우리는 두 번 탈출에 대한 수단이 필요합니다
\ \






