0

VBScript 正規表現オブジェクトで検証しようとしているデータ ファイルがあります。

データ:

01THAILAND       000004
08 000004 05 

正規表現パターン: ^01.{15}[0-9]{6}|^08 [0-9]{6} [0-9]{2}.

最初の行と同じコード「000004」がある場合、08 で始まる行を有効として解析するようにパターンを設定するにはどうすればよいですか? これら 2 つの項目の間には他のデータ行が存在し、コードが常に '000004' になるとは限りません! 特定のままである唯一のものは、2 文字の行 ID と形式です。

4

2 に答える 2

0

純粋な正規表現はそれをカットしませんが、それはおそらくあなたが使用しているハットではありません.

この種のものに対する一般的な命名は「後方参照」と呼ばれ、現在照合されている正規表現の一部をパターン自体の内部に含めることができます。から継承された通常の構文sed\1、正規表現の最初のキャプチャ括弧を参照することです。

したがって、あなたの例では次のようになります。

^01.{15}\([0-9]{6}\)
.*
^08 \1 [0-9]{2}.

単一の行ではなく、グループ全体で一致していることに注意してください。(単一行を一致させるには、元のコードを覚えて、終了正規表現に明示的に含める必要があります。) したがって、正規表現エンジンが複数行一致に対応していることを確認する必要があります。

于 2013-10-14T15:15:54.100 に答える