我试图在CORP ACT OPTION NO
之后选择所有内容,直到2个新行和回车(例如保管帐户)
我的表达式atm提取信息(所有这些在CORP ACT OPTION之后)是
CORP ACT OPTION NO\.([\s\S]*)
示例dara:
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?
以上非常感谢。
答案 0 :(得分:1)
基于文件格式,编码,操作系统等的新行可以是'\ r','\ r \ n'或'\ n'。所以你需要匹配其中的两个,即[\n|\r\n|\r]{2}
'CORP ACT OPTION NO.([\s\S]*)[\n|\r\n|\r]{2}'
答案 1 :(得分:0)
/.*\s*:\s*.*/g
应该可以正常工作。如果没有m
,则匹配不会匹配多行。
正则表达式的解释:
.*
尽可能匹配,直到后面跟着: \s*:
*任意数量的空格(0或更多)后跟一个小:
个字符\s*
任意数量的空格(0或更多) .*
尽可能匹配,直到换行 您还可以使用捕获组并使用每个值检查每个键:
/(.*)\s*:\s*(.*)/g
答案 2 :(得分:0)
我猜(CORP ACT OPTION NO.*?)(?:\r|\n|\r\n){2}
就是你要找的东西。检查此demo以查看其是否有效。不要忘记DOTALL
标志。