掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
delphi7の正規表現で環境を変えても「真」がマッチしない件について (ID:149850)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> # PerlRegEx1.RegEx := #$90 + '\' + #$5E; とかでマッチしませんか? なるほど.でしたらこんな感じでいけるかも 😊 Dephi 6 / 7 あたりだったら VBScript という手もあるかも知れませんか・・・ ダウンロード元は質問者のコードから推測しました. [参考] [ 正規表現の活用 (主に Delphi 2009 以降) ] https://ht-deko.com/tech064.html //----------------------------------------------------------------------------- // マルチバイトに対応していない Ansi 正規表現ライブラリ用の関数 // 漢字を含む文字列を使用可能にするための処理 // 例 : 真 //----------------------------------------------------------------------------- function ConvCode(AStr: AnsiString): String; var LStr : String; LPStr : PChar; begin Result := ''; LStr := AStr + #0; LPStr := PChar(LStr); while Byte(LPStr^) <> 0 do begin Result := Result + Char(LPStr^); if (Char(LPStr^) in LeadBytes) then begin Inc(LPStr); Result := Result + '\' + Char(LPStr^); end; Inc(LPStr); end; end; //============================================================================= // 上の関数のテスト // (1) 以下の URL から older component... の TPerlRegEx2009.zip をダウンロード // https://www.regular-expressions.info/delphi.html // (2) 解凍して以下をプロジェクトのフォルダ内に配置 // [pcre] フォルダ // pcre.pas // PerlRegEx.pas // pcrelib.dll // (3) uses に PerlRegEx を追加 // // 動作確認環境 // Windows [Version 10.0.19042] + Delphi 6(UP2) Pro //============================================================================= procedure TForm1.Button1Click(Sender: TObject); var LPerlReg : TPerlRegEx; begin LPerlReg := TPerlRegEx.Create(Self); try LPerlReg.Subject := '日本語 真ABC'; LPerlReg.RegEx := ConvCode('真'); if LPerlReg.Match then begin ShowMessage('True'); end; finally FreeAndNil(LPerlReg); end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.