代码之家  ›  专栏  ›  技术社区  ›  Greg Charles

IntelliJ IDEA:用于删除Oracle to_时间戳语法的正则表达式

  •  1
  • Greg Charles  · 技术社区  · 15 年前

    我试图提出一个搜索/替换表达式,它将从带有时间戳字段的Oracle样式插入转换为另一个数据库的插入语句。

    to_timestamp('13-SEP-09 12.00.00.000000000 PM','DD-MON-RR HH.MI.SS.FF AM')
    

    只是:

    '13-SEP-09 12.00.00.000000000 PM'
    

    to_timestamp(.[^,]*,.[^)]*)
    

    替换为$1后,除了右括号外,与我想要的字符串匹配,但只删除了第一部分。我的结局是:

    ('13-SEP-09 12.00.00.000000000 PM','DD-MON-RR HH.MI.SS.FF AM')
    

    1 回复  |  直到 15 年前
        1
  •  5
  •   Alan Moore Chris Ballance    15 年前

    看起来你想要:

    to_timestamp\(('[^']*')[^)]*\)
    

    细分:

    to_timestamp 显而易见

    \(

    ( 开始捕捉

    '[^']'

    ) 停止捕获

    [^)]*\) 匹配剩余的文本

    如果这是要匹配的整个字符串,而不仅仅是较大文本的一部分,则可以使用 .* 而不是 [^)]*\) ' .