常用正则整理

来源:互联网 发布:青岛网络电视台回放 编辑:程序博客网 时间:2024/06/05 01:52

三位小数可带负数:

(-?\d+\.\d\d\d)    

  (-?\d+\.\d{3})


数字通用:

([+-]?\d+(,\d+)*.\d+)?


文字:(\S*)          注意S+ 判断了里面必须要有字符,不能空

空格:\s

文字+空格:(\S+)\s



在线调试:https://www.regexpal.com/


示例:

         成交日期 交易所 品种   交割期   买卖      成交价   手数 开平          成交额       手续费   投保  平仓盈亏    交易所成交号
         20160912 郑州   PTA精对 1609   买       4588.000     8 开            183520.00     26.40   保       0.00    0
var regex3 = /(\d{8})\s+(\S*)\s+(\S+)(\s+|\s?)(\d{4})\s+(买|卖)\s+(\d+\.\d\d\d)\s+(\d+)\s+(开|平|平今)\s+(\d+\.\d{1,2})\s+(\d+\.\d{1,2})\s+(保|投)\s+(-?\d+\.\d{1,2})\s+(\d+)/;


         交易所   品种     交割期 买卖 成交量  成交金额      清算价   清算金额   实提手数  交割手续费  交割盈亏
         上海     镍       1609   买    900  70956120.00    77550.000 69795000.00    0      2700.00    -1161120.00

 var regex2 = /(\S*)\s+(\S*)(\s+|\s?)(\d{4})\s+(买|卖)\s+(\d+)\s+(\d+\.\d{2})\s+(\d+\.\d{3})\s*(\d+\.\d{2})\s*(\d+)\s*(\d+\.\d{2})\s+(-?\d+\.\d{2})/g;



示例:

原文:
期货客户帐单_持仓盈亏单
--------------------------------------------------------------------------------------------------------------------------------------------
合约代码      买手        买价   卖手        卖价    昨结算价    今结算价      持仓盈亏        履约保证金  套投    期权权利金变动
--------------------------------------------------------------------------------------------------------------------------------------------
ru1801           0       0.000   1347   16035.330   13550.000   13310.000   36710200.00       21514284.00  套保              0.00
ru1805           0       0.000   1008   13957.183   14015.000   13765.000    1937200.00       16650144.00  套保              0.00
                 0               2355                                       38647400.00       38164428.00                    0.00


匹配交易两行:

(\S+)\s+(\d)\s+(\d.\d{3})\s+(\d*)\s+(\d*.\d{3})\s+(\d*.\d{3})\s+(\d*.\d{3})\s+(\d*.\d{2})\s+(\d*.\d{2})\s+(\S+)\s+(\d.\d{2})








.                         交易结算单(浮动)
----------------------------------------------------------------------------------------
资产帐号   客户姓名                          开始时间    结束时间      币种
----------------------------------------------------------------------------------------
16501266   厦门同歆贸易有限公司              20171101    20171130    人民币    

上面这段进行匹配

匹配1:

资产帐号\s*客户姓名\s*开始时间\s*结束时间\s*币种\s+\-*\s+(\d*)\s+\S*\s+(\d{8})\s+(\d{8})\s+\S*

匹配2:(\d*)\s+\S*\s+(\d{8})\s+(\d{8})\s+\S*



带小数点的数字匹配:

当日质押金:\s+(-?\d+(,\d+)*.\d+)