私のタイトルは少し誤解を招くかもしれません。文字列を手動で簡単に解析できますが、2 つの特定のフィールドで特定の値を検出する最速の方法を探しています。したがって、次の文字列の例が与えられます。
XXX_X_999999_999999_99999999_99999999_X_X ここで、x = alpha、9 は数値です。フィールド 5 と 6 の値 (日付) が特定の年のうちの 1 つであることを確認したいと思います。
したがって、フィールド 5 では 20100101 の可能性があります。年が複数の年のうちの 1 つと一致するかどうかを確認したいと思います。フィールド 6 も同じですが、年が異なります。私が推測する2つの異なる表現である可能性がありますか?
コンマ区切りファイルの値をスキャンするために正規表現を使用するいくつかのソリューションを調べましたが、チェックを変更しても、アンダースコアを使用すると期待どおりに機能しないように見えました (特定のフィールドに焦点を当てるのではなく、文字列全体を見るように見えました)。
繰り返しますが、文字列を分割してからこれら 2 つのフィールドをチェックすることでこれを行うことができますが、特定の値が適切な場所にあるかどうかをその場で確認する (これらの文字列の数を一気に分析する) だけで、より高速に実行したいと考えていました。文字列で。
例:
XXX_X_100000_200000_20100101_20100130_X_X
最初の日付 (フィールド 5) を 2001 年と 2002 年に一致させたいと考えています。
[編集]
私は正規表現が苦手なので、私の目的のために変更しようとしたのは次のとおりです: ^([^,\r\n]*,){5}(2001|2002)