Scala 捕获组使用 regex
假设我有这个代码:
我期望
只返回
, 而是他回来了
. 我知道什么可以使用
要仅提取此部分,但我需要为整个字符串进行模板,如:
是否有另一种方法来实现这一目标而不使用类
直接而不是使用 unapply?
val string = "one493two483three"
val pattern = """two/\d+/three""".r
pattern.findAllIn/string/.foreach/println/
我期望
findAllIn
只返回
483
, 而是他回来了
two483three
. 我知道什么可以使用
unapply
要仅提取此部分,但我需要为整个字符串进行模板,如:
val pattern = """one.*two/\d+/three""".r
val pattern/aMatch/ = string
println/aMatch/ // prints 483
是否有另一种方法来实现这一目标而不使用类
java.util
直接而不是使用 unapply?
没有找到相关结果
已邀请:
5 个回复
二哥
赞同来自:
每场比赛:
它打印
/
http://ideone.com/Ooyti
/.
选择回顾
根据模板的复杂性,您也可以使用 lookarounds, 匹配
只要
你想要的一部分。 它看起来像这样:
还印刷了上面
/
http://ideone.com/oPV2l
/.
建议书
http://www.regular-expressions ... .html
小姐请别说爱
赞同来自:
快网
赞同来自:
, 你现在正在看
, 也就是说 "the entire matched string".
看
http://daily-scala.blogspot.co ... .html
.
莫问
赞同来自:
, 解决方案的替代方案 regex, 您还可以匹配模板
, 不是
https://www.scala-lang.org/fil ... ntext$s$.html#unapplySeq/s:String/:Option[Seq[String]]
:
甚至:
如果您希望输入数据不匹配,则可以添加默认模板保护:
窦买办
赞同来自: