ここのマスターにとっては、これもまた単純な正規表現のように聞こえるかもしれませんが、今では本当に頭が痛くなります :)
私の問題は、次のデータセットがあり、「名前」を取り除きたいということです。
- 名前の質問例: ジョンの質問、ボブの質問
- 情報 - 名前例: 情報 - ジュリー、情報 - リチャード、情報 - デビッド
- 選択する
- 送信
ご覧のとおり、「名前」はいくつかのレコードにのみ含まれていますが、他のレコードには含まれていません。
2 つの正規表現を作成しました。内部で Java を使用して正規表現を解析する 1 つのアプリケーションを使用しています。自分の Java コードを書くことはできません。正規表現を提供することしかできません。:(
(Question*(.*?))
(Information*(.*?))
問題は、「質問」レコードしか取得できず、システムが他の 3 つのレコードを表示しないことです。
問題は、正規表現を としてテストすると(Question*(.*?))
、最初の例では「名前」が取り除かれますが、他の3つの例では何も返されないことがわかりました。つまり、リターンは空白です。そのため、システムが「Submit」を解析しているときに、「Question」正規表現の最初の変換で、「Question」という単語が見つからないため、何も返されません。
私が望んでいるのは、「質問」が利用できない場合、システムはそれを削除するのではなく、完全な文字列を返す必要があるということです。したがって、システムが最初の正規表現で「送信」を解析すると、「送信」がそのまま返されるはずです。
正規表現が正しくないかどうかわかりません
PS: 'Select' と 'Submit' は 2 つの例にすぎません。他に少なくとも 20 ~ 25 のレコードがありますが、' Name 'を含むレコードは 2 つしかありません。