Python 将字符串str中的number(*.0)替换为number(10)怎么替换呢?

将字符串

 CREATE TABLE "SCOTT"."TEST01" 
   ("ID" NUMBER(*,0), 
    "NAME" VARCHAR2(15)
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" 

中的NUMBER(*,0)替换为NUMBER(10)改怎么替换呢,请大神赐教呀

阅读 2.7k
2 个回答

反对楼上

import re
print(re.sub('NUMBER\(.*\)', 'NUMBER(10)', 'aaa NUMBER(*,0) bbb'))

楼下说的对,这里疏忽,把所有字符都匹配了。

result = re.sub('NUMBER(.*)', 'NUMBER(10)', 'aaa NUMBER(*,0) bbb')

这里再提供一种满足题主问题的方式吧:

result = re.sub('NUMBER([^)]*)', 'NUMBER(10', 'aaa NUMBER(*,0) bbb')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题