示例输入文字:
a)owner.table_name
b)table_name
有人可以建议正则表达式,这样我就可以通过这样的方式输出文本,直到“。” (如果“。”存在)并且如果“。”不存在然后返回空
输出:
a)owner
b)空
正则表达式,这样我就可以从“。”中获取文本。结束(如果“。”存在)和“如果”。不存在然后返回整个字符串
输出:
a)table_name
b)table_name
答案 0 :(得分:2)
以下正则表达式应该有效:
(?:(\w+)\.)?(\w+)
它会创建两个捕获组(请参阅this debuggex example来玩它)
第一组将为空,输入为table_name
。对于owner.table_name
,两个组都有适当的值。
答案 1 :(得分:1)
这是一个匹配两者的正则表达式:
((?<owner>\w+)\.)?(?<table>\w+)
如果您使用的工具允许命名组,则第一组将被称为“所有者”,并且在句点之前将是任何单词。第二组将被称为“表格”,并且在可能的“所有者”之后将是任何单词。