scala 如何从字符串中提取所有潜在的IP地址?

ou6hu8tu  于 2023-03-23  发布在  Scala
关注(0)|答案(1)|浏览(156)

我想从一个字符串中提取所有的IP地址。
假设我有一根弦
"1.2.3.4.5.6.7"
我想从这个字符串中提取所有的ip地址,它应该产生如下输出:
List("1.2.3.4","2.3.4.5","3.4.5.6","4.5.6.7")
我已经尝试过的事情:
正则表达式匹配有或没有积极的前瞻。

rryofs0p

rryofs0p1#

不基于正则表达式,但假设输入是可预测的,因为您正在展示一个基于sliding的实现可以工作。
sliding(n: Int)-通过在固定大小的块上传递“滑动窗口”来对元素进行分组

List("1.2.3.4.5.6.7")
  .flatMap(_.split("\\.")) //List(1,2,3,4,5,6,7)
  .sliding(4) 
  .map(_.mkString(".")) 
  .toList //materialize the iterator

//List[String] = List(1.2.3.4, 2.3.4.5, 3.4.5.6, 4.5.6.7)

相关问题