我有以下与完全限定的 Microsoft SQL Server 表名 ( ) 匹配的正则表达式模式[dbName].[schemaName].[tableName],其中架构名称是可选的:
val tableNamePattern = """\[(\w+)\](?:\.\[(\w+)\])?\.\[(\w+)\]""".r
我这样使用它:
val tableNamePattern(database, schema, tableName) = fullyQualifiedTableName
当模式名称丢失时(例如:)[dbName].[tableName],该schema值被设置为null。
是否有一种 Scala 惯用的方式来设置它None,以及Some(schema)何时提供 schemaName?
有些人在遇到问题时会想“我知道,我会使用正则表达式”。现在他们有两个问题。——杰米·扎温斯基