求JS正则 匹配两行交易明细,谢谢

紫气东来_999 2017-11-22 05:30:39
原文:
期货客户帐单_持仓盈亏单
--------------------------------------------------------------------------------------------------------------------------------------------
合约代码 买手 买价 卖手 卖价 昨结算价 今结算价 持仓盈亏 履约保证金 套投 期权权利金变动
--------------------------------------------------------------------------------------------------------------------------------------------
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

希望匹配出以下两行,
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


求大神,谢谢。
...全文
303 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小熊开发 2017-12-05
  • 打赏
  • 举报
回复
你写的正则要几千次 优化下吧,100多次就出结果了
/^(\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})$/gm
小熊开发 2017-12-05
  • 打赏
  • 举报
回复
^(\S+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)\s+([\d\.]+)\s+(\S+)\s+([\d\.]+)$
紫气东来_999 2017-12-04
  • 打赏
  • 举报
回复
最后自己的答案:
(\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})

如果有好的答案欢迎指导,谢谢。
紫气东来_999 2017-11-23
  • 打赏
  • 举报
回复
我是在这个网站调试的:https://www.regexpal.com/ 几个办法好像不行。。。。。 我这两行可能是动态的,有时候可能会是多行。。。 第一列也是动态的,不一定是ru开头
天际的海浪 2017-11-22
  • 打赏
  • 举报
回复

var str = `
期货客户帐单_持仓盈亏单
--------------------------------------------------------------------------------------------------------------------------------------------
合约代码      买手        买价   卖手        卖价    昨结算价    今结算价      持仓盈亏        履约保证金  套投    期权权利金变动
--------------------------------------------------------------------------------------------------------------------------------------------
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
`;
alert(str.match(/([^-\r\n]+\r?\n){2}/)[0]);
紫气东来_999 2017-11-22
  • 打赏
  • 举报
回复
引用 3楼低调是种无声的高调 的回复:
去除统计?
确实去掉统计那行最好
紫气东来_999 2017-11-22
  • 打赏
  • 举报
回复
引用 2楼似梦飞花 的回复:

var str=`期货客户帐单_持仓盈亏单
    --------------------------------------------------------------------------------------------------------------------------------------------
            合约代码      买手        买价   卖手        卖价    昨结算价    今结算价      持仓盈亏        履约保证金  套投    期权权利金变动
    --------------------------------------------------------------------------------------------------------------------------------------------
            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`;
    console.log(str);
    var reg=/\n\s*ru\d+.*(?!\n)/mgi;
    var result=null;
    console.log(11);
    while((result=reg.exec(str))!=null){
        console.log(result[0].trim());
    }
谢谢,不过不一定是ru开头加数字呢。有可能全是字母开头(第一列)
  • 打赏
  • 举报
回复
去除统计?
似梦飞花 2017-11-22
  • 打赏
  • 举报
回复

var str=`期货客户帐单_持仓盈亏单
    --------------------------------------------------------------------------------------------------------------------------------------------
            合约代码      买手        买价   卖手        卖价    昨结算价    今结算价      持仓盈亏        履约保证金  套投    期权权利金变动
    --------------------------------------------------------------------------------------------------------------------------------------------
            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`;
    console.log(str);
    var reg=/\n\s*ru\d+.*(?!\n)/mgi;
    var result=null;
    console.log(11);
    while((result=reg.exec(str))!=null){
        console.log(result[0].trim());
    }
43947CXL 2017-11-22
  • 打赏
  • 举报
回复
需求能说清楚点吗,,,

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧