0
はここ正規表現スキップライン
は私がナンバー、カテゴリー後にテキストと一致したい私のサンプルテキストと正規表現だ、「サーバー「は、このサーバーの特定の役割や機能は?:何ですか」ホスト名: "などですが、使用するテキストが変更された場合、私が現在使っている方法はうまくいきません。私は、次のマッチに到達するためにできるだけ多くの行/文字をスキップできるように、これを動的にしたいと思います。
私は現在、次の正規表現使用しています:私は知っている
Number\:\s(?<Number>\d+)[\r\n]Category\:\s(?<Category>.*).*[\r\n].*[\r\n].*[\r\n]What\sis\sthe\sspecific\srole\sor\sfunction\sof\sthis\sserver\?\:\s(?<Function>.*).*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n]Server\sHostname\:\s(?<Hostname>.*).*[\r\n]Server\sAllegiance\:\s(?<Domain>.*).*[\r\n].*[\r\n]Physical\sLocation\:\s(?<Location>.*).*[\r\n].*[\r\n].*[\r\n].*[\r\n].*[\r\n]Local\sAdministrators\:\s+([\w\s]+)[\r\n].*[\r\n].*[\r\n]Task\sDescription\:\s(?<Task>.*)
を、私は知っている、それは醜いです!など
プログラミング言語? 'PHP'? 'Python'?他のテキストサンプルもありますか?現時点では、あなたのパターンは[** a catastrophic backtracking **](https://regex101.com/r/S2OqoV/1)になります。 – Jan
あなたの正規表現は壊滅的なバックトラックで逃げ出します。 '|'演算子を使って、キャプチャされた名前のついたそれぞれのグループを分けることができます。 –
S/OからR101へのコピーは、何とかテキストを混乱させました。 – sogeniusio