我需要创建一个正则表达式,以便用于从动态SQL create table语句中删除最后一个逗号。我的查询基本上会获取所有列名和表名,并返回如下内容:
CREATE TABLE table_name ( column1 DATATYPE(1), column2 DATATYPE(20),);
我在data_length规范之后将逗号连接到所有,因为之后删除最后一个逗号会更容易。我使用REGEXP_REPLACE
来做到这一点,但是由于Oracle不支持前瞻或后瞻,所以我不能使用这个表现良好的表达式:
\,(?=[);])\
所以我得到了另一个表达方式:
\(\);)?,\
但它不够精确,因为它在")之前占用所有逗号;",我需要它来获取create table语句中的最后一个逗号。
我正在使用PLSQL。
答案 0 :(得分:0)
如何简单地用if journalDictionary[newDateString] == nil {
journalDictionary[newDateString] = [self.sortedJournal[index]]
} else {
journalDictionary[newDateString]?.append(self.sortedJournal[index])
}
替换,);
?这将有效地删除右括号前的最后一个逗号。