我有这种模式:
val smilepattern = "([:]) ([-]) ([) | | | (])".r
val smilepattern(colon, dash, arc) = ": - |"
println(colon + dash + arc)
我打算检查三个smiles
的构建,但我怎么能说dash ([-])
是可选的?因为,smile
可以是:-)
和:)
???
答案 0 :(得分:3)
您可以在正则表达式中使用?
使其成为可选项。
scala> ": )".matches("([:]) ([-]?) ([) | | | (])")
res1: Boolean = true
scala> ": - )".matches("([:]) ([-]?) ([) | | | (])")
res2: Boolean = true