掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Delphi6での正規表現 (ID:41367)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
直接の答えになるかどうかわかりませんが、その正規表現の指定は何だかおかしいですね。 [] は文字クラスの指定、[^] はその補集合ですから 「先頭の1文字が '(', 'd', 'i', 's', 'p', 'l', 'a', 'y', 'n', 'a', 'm', 'e', ')' のどれでもない」 という意味になります。 で、そのコンポーネントを持ってきて試してみたところ、 補文字クラスの中に、ASCIIコードの連続する3つの文字が 1番目、3番目、2番目の順番で出てくるとフリーズするようです。 [^abc] →OK [^acb] →フリーズ 問題の文字列だと 'l', 'n', 'm' がこの順で出てきているのが原因ですね。 たぶん、クラスの中で重複する文字をまとめるところにバグがあるのかと思いますが とりあえず、文字クラスの内部では並び順は関係ないので ^[^adeilmnpsy()] のようにコード順に並べ直せば回避はできます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.