我有以下与完全限定的 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?
有些人在遇到问题时会想“我知道,我会使用正则表达式”。现在他们有两个问题。——杰米·扎温斯基