正则表达式仅匹配指定字符的最后一次出现

时间:2015-08-23 19:31:55

标签: regex plsql

我需要创建一个正则表达式,以便用于从动态SQL create table语句中删除最后一个逗号。我的查询基本上会获取所有列名和表名,并返回如下内容:

CREATE TABLE table_name ( column1 DATATYPE(1), column2 DATATYPE(20),);

我在data_length规范之后将逗号连接到所有,因为之后删除最后一个逗号会更容易。我使用REGEXP_REPLACE来做到这一点,但是由于Oracle不支持前瞻或后瞻,所以我不能使用这个表现良好的表达式:

\,(?=[);])\

所以我得到了另一个表达方式:

\(\);)?,\

但它不够精确,因为它在")之前占用所有逗号;",我需要它来获取create table语句中的最后一个逗号。

我正在使用PLSQL。

1 个答案:

答案 0 :(得分:0)

如何简单地用if journalDictionary[newDateString] == nil { journalDictionary[newDateString] = [self.sortedJournal[index]] } else { journalDictionary[newDateString]?.append(self.sortedJournal[index]) } 替换,);?这将有效地删除右括号前的最后一个逗号。