Групповое извлечение с использованием scala - PullRequest
0 голосов
/ 15 октября 2018

Допустим, у меня есть код:

val data = """^0001|1|0|813|1|860152033876093|!^0002|1|0|813|1|860152033876093|!^0003|1|0|813|1|860152033876093|!"""
val pattern = """^\\^(\\w|)!$""".r
pattern.findAllIn(data).foreach(println)

Как мне извлечь групповой текст, который начинается с ^ и заканчивается !, как мне нужен результат, как показано ниже:

Group 1 ^0001|1|0|813|1|860152033876093|!  
Group 2 ^0002|1|0|813|1|860152033876093|!
Group 3 ^0003|1|0|813|1|860152033876093|!

1 Ответ

0 голосов
/ 15 октября 2018

Это работает для вас.

scala> val data = """^0001|1|0|813|1|860152033876093|!^0002|1|0|813|1|860152033876093|!^0003|1|0|813|1|860152033876093|!"""
data: String = ^0001|1|0|813|1|860152033876093|!^0002|1|0|813|1|860152033876093|!^0003|1|0|813|1|860152033876093|!

scala> val pattern = """\^[^!]+?!""".r
pattern: scala.util.matching.Regex = \^[^!]+?!

scala> pattern.findAllIn(data).foreach(println)
^0001|1|0|813|1|860152033876093|!
^0002|1|0|813|1|860152033876093|!
^0003|1|0|813|1|860152033876093|!

scala>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...