regex - Scala:查找匹配正则表达式的所有实例并存储在数组中

标签 regex scala

我在 Scala 中有一个字符串。我试图找到某个标签的所有出现并找到标签中包含的文本,将结果存储在数组中。

例如,如果我的字符串是 val string = "<p> c </p> <p> a </p> <p> t </p>" 我正在寻找的结果是:

val result = ["c","a","t"]

最好的方法是什么?谢谢!
注意:我确信我正在搜索的标签类型永远不会嵌套在其自身的另一个实例中,如果有帮助的话。

最佳答案

这里对 Tony 的建议稍作修改。

val string = "<p> c </p> <p> a </p> <p> t </p>"
val re = "(?<=<p>)([^<]*)(?=</p>)".r
re.findAllMatchIn(string).map(_.toString.trim).toArray
// res0: Array[String] = Array(c, a, t)

.trim 部分是可选的。

关于regex - Scala:查找匹配正则表达式的所有实例并存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45489213/

相关文章:

regex - BigQuery Regexp 中的前瞻

javascript - 在 JavaScript 字符串中的某个字符后插入空格

scala - 满足条件时跳过循环中的 N 个元素

scala - 如何处理 Scala Futures 中的异常?

scala - com.typesafe.config.ConfigException$NotResolved : has not been resolved,

java - 获取 url 的正则表达式模式不起作用

javascript - 这三个正则表达式有效吗?

java - 斯卡拉错误 : Could not find or load main class in both Scala IDE and Eclipse

scala - 从 Spark 服务器执行 SFTP 时,大型机服务器上的记录级别数据截断

regex - 匹配可能存在也可能不存在的组