正規表現パターン - ([^=](\\s*[\\w-.]*)*$)
Javaの正規表現エンジンクラッシュ
テストストリング - paginationInput.entriesPerPage=5
Javaの正規表現エンジンクラッシュ/一致発見年齢(> 2mins)をとります。これは、次のテスト入力のためのケースではありません。
paginationInput=5
paginationInput.entries=5
私の要件は、=
の右側に文字列のホールドを取得し、何かに置き換えることです。上記のパターンは、上記の入力を除いてうまくやっています。
私は他の特異な例を回避するために、エラーとどのように私は私の要件のための正規表現を最適化することができます理由を理解したいと思います。
正規表現は行き過ぎと思われる、このファイルの各行にtestString.splitを(「=」)を使用して、その長さ== 2のチェックについて考えていますか?すなわち、配列を返し、2番目の項目はそれを行うために、粗方法だ= –
の右側であろう。私はそれを私の最後の手段として残しています。 – kaychaks
それはすぐに一致しない場合、あなたはおそらくスタックオーバーフローを取得しているので、あなたの正規表現で許可されてあまりにも多くのバックトラックがあります。 *ネストすることを避けるようにしてください。そうしないと、あなたがそれらを所有することができますか? – CurtainDog