我将此文本作为字符串"Report Date 2018-05-04 ""Report Run Date"" 2018-05-05"
在上面,我要打印2018-05-04
。我可以使用substring
方法来做到这一点,但这不是正确的方法,需要进行正则表达式模式匹配。
请让我知道在这种情况下哪种正则表达式可以工作。
顺便说一句,我正在使用Scala
答案 0 :(得分:2)
诸如\d{4}-\d{2}-\d{2}
之类的方法将会起作用。在Scala中:
scala> val testString = """"Report Date 2018-05-04 ""Report Run Date"" 2018-05-05""""
testString: String = "Report Date 2018-05-04 ""Report Run Date"" 2018-05-05"
scala> val pattern = "\\d{4}-\\d{2}-\\d{2}".r // XXXX-XX-XX where X is a number
pattern: scala.util.matching.Regex = \d{4}-\d{2}-\d{2}
scala> (pattern findAllIn testString).toList
res0: List[String] = List(2018-05-04, 2018-05-05)
如果您想了解有关Regex的更多信息,请在Regex101之类的网站上玩转。