9

CORP ACT OPTION NO2つの新しい行とキャリッジリターンまでのすべてを選択しようとしています(例では保管アカウントまで)

情報を抽出するための私のreg式atm(すべてCORP ACT OPTIONの後)は

CORP ACT OPTION NO\.([\s\S]*)

サンプルダラ:

CORP ACT REFERENCE                  : 007XS0212069115
SENDER'S REFERENCE                  : 1212070800330001
FUNCTION OF MESSAGE                 : NEW MESSAGE
CORP ACT EVENT                      : INTEREST PAYMENT
PLACE OF SAFEKEEPING                : US
ISIN                                : XS0212069115
ISIN/DESCRIPTION                    : KFW 4.750 071212 GBP
METHOD OF INTEREST COMPUTATION      : A006
EX-DATE                             : 20121207
RECORD DATE                         : 20121206
CORP ACT OPTION NO.                 : 001
CORPORATE ACTION OPTION CODE        : CASH
CURRENCY OPTION                     : GBP
RESULTING AMT                       : GBP617,5
PAYMENT DATE                        : 20121207
EXCHANGE RATE                       : GBP/GBP/1,
INTEREST RATE                       : 4,75

SAFEKEEPING ACCOUNT                 : 000000000000
CONFIRMED BALANCE                   : FAMT/13000,
CREDIT/DEBIT IND                    : CREDIT

上記の改行まで選択するにはどうすればよいですかSAFEKEEPING ACCOUNT?。ありがとうございます。

4

3 に答える 3

5

/.*\s*:\s*.*/g正常に動作するはずです。一致がなければm、複数の行に一致することはありません。

正規表現の説明:

  • .* 以下が続くまで、可能な限り一致します。
  • \s*::*リテラル文字が続く任意の量のスペース (0 以上)
  • \s* 任意の量のスペース (0 以上)
  • .* 改行まで可能な限り一致

正規表現101のデモ

キャプチャ グループを使用して、すべてのキーとすべての値をチェックすることもできます。

/(.*)\s*:\s*(.*)/g

正規表現 101 デモ

于 2013-03-01T16:10:26.247 に答える
1

ファイル形式、エンコーディング、OS などに基づく改行は、'\r'、'\r\n'、または '\n' のいずれかになります。したがって、これらのうちの 2 つを一致させる必要があります。つまり、[\n|\r\n|\r]{2}

'CORP ACT OPTION NO.([\s\S]*)[\n|\r\n|\r]{2}'
于 2013-03-01T16:12:38.593 に答える
0

(CORP ACT OPTION NO.*?)(?:\r|\n|\r\n){2}はあなたが探しているものだと思います。このデモをチェックして、動作を確認してください。DOTALLフラグを忘れないでください。

于 2013-03-01T16:12:45.583 に答える