scala 正侧表达式 -多行文本处理



//code block

def getCodeBlock(start:String ,end:String,htmlContent:String):List[String]={

  val list=List[String]()
  //使用单行模式提取字符,(?s)单行模式,(?m)多行模式
  val regex1=("(?s)(?<="+start+")(.*?)(?="+end+")").r
   //清除换行符
   val h2=htmlContent.replaceAll("\n\r","")

  //val regex1=("(?s)<body>(.+)</html>.*").r
  //匹配一次
  val html_nodeList= regex1.findAllMatchIn(h2)
  for(s <- html_nodeList){


    println("##########\n"+s)

    s::list


  }

  list
}

def getAdCodeBlockList(htmlContent:String):List[String]={

  val htmlParse=HtmlDocParser
    val start="<div class=\"wrap\">"
  val end="<div class=\"bg\"></div>"

  val list=htmlParse.getCodeBlock(start ,end,htmlContent)

    list
  }

def main(argvs:Array[String]): Unit ={


  val spiderService=AliAdSpiderService
  val fcs = FileLocService

  val htmlContent=fcs.readFile("E:\\spider_html_code.txt")

  spiderService.getAdCodeBlockList(htmlContent)

// println("test")
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值