OSDN Git Service

・正規表現メタキャラクタを排除する RegExpEncode を追加。
authoryoffy <yoffy>
Sun, 21 Sep 2003 08:57:30 +0000 (08:57 +0000)
committeryoffy <yoffy>
Sun, 21 Sep 2003 08:57:30 +0000 (08:57 +0000)
YofUtils.pas

index 438b3a1..f89ee6a 100644 (file)
@@ -278,9 +278,26 @@ function RegExpEncode(
        const text : string
 ) : string;
 var
-       tmp : string;
+       strResult : string;
 begin
-       // \95Û\97¯
+
+       strResult := StringReplace( text, '\', '\\', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '[', '\[', [rfReplaceAll] );
+       strResult := StringReplace( strResult, ']', '\]', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '(', '\(', [rfReplaceAll] );
+       strResult := StringReplace( strResult, ')', '\)', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '[', '\[', [rfReplaceAll] );
+       strResult := StringReplace( strResult, ']', '\]', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '*', '\*', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '?', '\?', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '.', '\.', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '+', '\+', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '|', '\|', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '^', '\^', [rfReplaceAll] );
+       strResult := StringReplace( strResult, '$', '\$', [rfReplaceAll] );
+
+       Result := strResult;
+
 end;
 
 end.