System.RegularExpressions.TRegEx

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

  TRegEx = record
  private
    FOptions: TRegExOptions;
    FMatchEvaluator: TMatchEvaluator;
    FNotifier: IInterface;
    FRegEx: TPerlRegEx;
    procedure InternalOnReplace(Sender: TObject; var ReplaceWith: string);
    function UnicodeIndexToUTF8(const S: string; AIndex: Integer): Integer;
  public
    constructor Create(const Pattern: string; Options: TRegExOptions = [roNotEmpty]);
    function IsMatch(const Input: string): Boolean; overload;
    function IsMatch(const Input: string; StartPos: Integer): Boolean; overload;
    class function IsMatch(const Input, Pattern: string): Boolean;overload; static;
    class function IsMatch(const Input, Pattern: string; Options: TRegExOptions): Boolean; overload; static;
    class function Escape(const Str: string; UseWildCards: Boolean = False): string; static;
    function Match(const Input: string): TMatch; overload;
    function Match(const Input: string; StartPos: Integer): TMatch; overload;
    function Match(const Input: string; StartPos, Length: Integer): TMatch; overload;
    class function Match(const Input, Pattern: string): TMatch; overload; static;
    class function Match(const Input, Pattern: string; Options: TRegExOptions): TMatch; overload; static;
    function Matches(const Input: string): TMatchCollection; overload;
    function Matches(const Input: string; StartPos: Integer): TMatchCollection; overload;
    class function Matches(const Input, Pattern: string): TMatchCollection; overload; static;
    class function Matches(const Input, Pattern: string; Options: TRegExOptions): TMatchCollection; overload; static;
    function Replace(const Input, Replacement: string): string; overload;
    function Replace(const Input: string; Evaluator: TMatchEvaluator): string; overload;
    function Replace(const Input, Replacement: string; Count: Integer): string; overload;
    function Replace(const Input: string; Evaluator: TMatchEvaluator; Count: Integer): string; overload;
    class function Replace(const Input, Pattern, Replacement: string): string; overload; static;
    class function Replace(const Input, Pattern: string; Evaluator: TMatchEvaluator): string; overload; static;
    class function Replace(const Input, Pattern, Replacement: string; Options: TRegExOptions): string; overload; static;
    class function Replace(const Input, Pattern: string; Evaluator: TMatchEvaluator; Options: TRegExOptions): string; overload; static;
    function Split(const Input: string): TArray<string>; overload; inline;
    function Split(const Input: string; Count: Integer): TArray<string>; overload; inline;
    function Split(const Input: string; Count, StartPos: Integer): TArray<string>; overload;
    class function Split(const Input, Pattern: string): TArray<string>; overload; static;
    class function Split(const Input, Pattern: string; Options: TRegExOptions): TArray<string>; overload; static;
  end;

C++

struct DECLSPEC_DRECORD TRegEx
{
private:
    TRegExOptions FOptions;
    TMatchEvaluator FMatchEvaluator;
    System::_di_IInterface FNotifier;
    System::Regularexpressionscore::TPerlRegEx* FRegEx;
    void __fastcall InternalOnReplace(System::TObject* Sender, System::UnicodeString &ReplaceWith);
    int __fastcall UnicodeIndexToUTF8(const System::UnicodeString S, int AIndex);
public:
    __fastcall TRegEx(const System::UnicodeString Pattern, TRegExOptions Options);
    bool __fastcall IsMatch(const System::UnicodeString Input)/* overload */;
    bool __fastcall IsMatch(const System::UnicodeString Input, int StartPos)/* overload */;
    static bool __fastcall IsMatch(const System::UnicodeString Input, const System::UnicodeString Pattern)/* overload */;
    static bool __fastcall IsMatch(const System::UnicodeString Input, const System::UnicodeString Pattern, TRegExOptions Options)/* overload */;
    static System::UnicodeString __fastcall Escape(const System::UnicodeString Str, bool UseWildCards = false);
    TMatch __fastcall Match(const System::UnicodeString Input)/* overload */;
    TMatch __fastcall Match(const System::UnicodeString Input, int StartPos)/* overload */;
    TMatch __fastcall Match(const System::UnicodeString Input, int StartPos, int Length)/* overload */;
    static TMatch __fastcall Match(const System::UnicodeString Input, const System::UnicodeString Pattern)/* overload */;
    static TMatch __fastcall Match(const System::UnicodeString Input, const System::UnicodeString Pattern, TRegExOptions Options)/* overload */;
    TMatchCollection __fastcall Matches(const System::UnicodeString Input)/* overload */;
    TMatchCollection __fastcall Matches(const System::UnicodeString Input, int StartPos)/* overload */;
    static TMatchCollection __fastcall Matches(const System::UnicodeString Input, const System::UnicodeString Pattern)/* overload */;
    static TMatchCollection __fastcall Matches(const System::UnicodeString Input, const System::UnicodeString Pattern, TRegExOptions Options)/* overload */;
    System::UnicodeString __fastcall Replace(const System::UnicodeString Input, const System::UnicodeString Replacement)/* overload */;
    System::UnicodeString __fastcall Replace(const System::UnicodeString Input, TMatchEvaluator Evaluator)/* overload */;
    System::UnicodeString __fastcall Replace(const System::UnicodeString Input, const System::UnicodeString Replacement, int Count)/* overload */;
    System::UnicodeString __fastcall Replace(const System::UnicodeString Input, TMatchEvaluator Evaluator, int Count)/* overload */;
    static System::UnicodeString __fastcall Replace(const System::UnicodeString Input, const System::UnicodeString Pattern, const System::UnicodeString Replacement)/* overload */;
    static System::UnicodeString __fastcall Replace(const System::UnicodeString Input, const System::UnicodeString Pattern, TMatchEvaluator Evaluator)/* overload */;
    static System::UnicodeString __fastcall Replace(const System::UnicodeString Input, const System::UnicodeString Pattern, const System::UnicodeString Replacement, TRegExOptions Options)/* overload */;
    static System::UnicodeString __fastcall Replace(const System::UnicodeString Input, const System::UnicodeString Pattern, TMatchEvaluator Evaluator, TRegExOptions Options)/* overload */;
#ifndef _WIN64
    System::DynamicArray<System::UnicodeString> __fastcall Split(const System::UnicodeString Input)/* overload */;
    System::DynamicArray<System::UnicodeString> __fastcall Split(const System::UnicodeString Input, int Count)/* overload */;
    System::DynamicArray<System::UnicodeString> __fastcall Split(const System::UnicodeString Input, int Count, int StartPos)/* overload */;
    static System::DynamicArray<System::UnicodeString> __fastcall Split(const System::UnicodeString Input, const System::UnicodeString Pattern)/* overload */;
    static System::DynamicArray<System::UnicodeString> __fastcall Split(const System::UnicodeString Input, const System::UnicodeString Pattern, TRegExOptions Options)/* overload */;
#else /* _WIN64 */
    System::TArray__1<System::UnicodeString> __fastcall Split(const System::UnicodeString Input)/* overload */;
    System::TArray__1<System::UnicodeString> __fastcall Split(const System::UnicodeString Input, int Count)/* overload */;
    System::TArray__1<System::UnicodeString> __fastcall Split(const System::UnicodeString Input, int Count, int StartPos)/* overload */;
    static System::TArray__1<System::UnicodeString> __fastcall Split(const System::UnicodeString Input, const System::UnicodeString Pattern)/* overload */;
    static System::TArray__1<System::UnicodeString> __fastcall Split(const System::UnicodeString Input, const System::UnicodeString Pattern, TRegExOptions Options)/* overload */;
#endif /* _WIN64 */
    TRegEx() {}
};

Propriétés

Type Visibilité  Source Unité  Parent
record
struct
public
System.RegularExpressions.pas
System.RegularExpressions.hpp
System.RegularExpressions System.RegularExpressions

Description

Un enregistrement pour la gestion des expressions régulières.

TRegEx appelle les fonctions TPerlRegEx qui s'interfacent avec la bibliothèque PCRE à source libre.

Voir aussi