如何在文件中查找模式并使用python在文件中注释该模式

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (5)

我想从“COMPRESS”到“)”搜索文件中的模式并对其进行评论。

我的输入文件如下:

CREATE MULTISET TABLE TESTDB.testTbl ,FALLBACK ,
     (
      Local_Pd BIGINT NOT NULL,
      Year_Id INTEGER NOT NULL,
      par_t CHAR(15) CHARACTER SET LATIN NOT CASESPECIFIC,
      PB_Ind INTEGER COMPRESS(0,1,2,3,4,5,6,6))
UNIQUE PRIMARY INDEX ( Local_Pd ,Year_Id ,par_t,
       PB_Ind);

输出文件 :

CREATE MULTISET TABLE TESTDB.testTbl ,FALLBACK ,
     (
      Local_Pd BIGINT NOT NULL,
      Year_Id INTEGER NOT NULL,
      par_t CHAR(15) CHARACTER SET LATIN NOT CASESPECIFIC,
      PB_Ind INTEGER /* COMPRESS(0,1,2,3,4,5,6,6) */  )
UNIQUE PRIMARY INDEX ( Local_Pd ,Year_Id ,par_t,
       PB_Ind);
提问于
用户回答回答于

这样的事情应该有效

import re

test_str = "CREATE MULTISET TABLE TESTDB.testTbl ,FALLBACK , ( Local_Pd BIGINT NOT NULL, Year_Id INTEGER NOT NULL, par_t CHAR(15) CHARACTER SET LATIN NOT CASESPECIFIC, PB_Ind INTEGER COMPRESS(0,1,2,3,4,5,6,6)) UNIQUE PRIMARY INDEX ( Local_Pd ,Year_Id ,par_t, PB_Ind);"

regex = r"(COMPRESS\([^\)]*\))"
t=re.sub(regex, r"/* \1 */", test_str)
print(t)

扫码关注云+社区

领取腾讯云代金券