2009-05-28 2 views
2

문자열입니다 = "Reg.asp? Q = RG_Price = * 8000 5000 = 1 활성화"는 정규 표현식

와 나는 그와 함께 "= 5000 * 8000 RG_Price"를 대체 할 "로 쿼리 문자열에서 단어를 교체 BETWEEN 5000 AND 8000 "입니다.

ASP에서 정규 표현식을 사용할 수 있습니까?

+0

asp.net 태그 또는 asp-classic 태그 중 적절한 것을 추가하십시오. – AnthonyWJones

답변

2

물론 (현재 대신 C 번호의 VBScript를 함께) :

Dim queryString, replacedString 
Set regEx = New RegExp 
regEx.Pattern = ".+RG_Price=(\d+)\*(\d+).*" 

replacedString = regEx.Replace(queryString, "Price BETWEEN $1 AND $2") 
+0

이것은 ASP에서 작동하지 않습니다. Microsoft VBScript 런타임 오류 '800a01c2' 잘못된 인수 또는 잘못된 속성 할당 : 'regEx.replace' –

+0

Ahhh, 저는 C# 코드 인 ASP.NET을 사용했습니다. – brien

+0

그러나 VBScript에서는 같은 방식으로 작동해야합니다 : 객체는 여전히'RegExp'이고,'Pattern' 속성을 같은 방식으로 설정하고'Replace()'메소드는 여전히 두 개의 인수를 취합니다. 원래 문자열과 일치하는 패턴을 대체 할 값. (위 예제에서 queryString은 아직 설정되지 않았으므로 URL에서 코드에서 멀리 떨어진 queryString으로 설정해야합니다.) –

0

나는이 정규 표현식을 사용합니다 :

^[^?]*\?(?:[^&]*&)*q=RG_Price=(\d+)\*(\d+) 

"Price BETWEEN $1 AND $2"로 경기를 교체합니다.

하지만 ASP.NET을 잘 모르기 때문에 실제 예제를 제공 할 수 없습니다.