正则表达式 Python 拆分字符串

字符串拆分为括号前的和括号中的两部分应该怎么做呢?
举个例子
ABC1.1(1) 拆分为ABC1.1和1 两部分
%DEF2.1(3) 拆分为%DEF2.1和3 两部分
@ I/O GHI3.3(5) 拆分为@ I/O GHI3.3 和5 两部分

阅读 4.3k
5 个回答
import re

matchObj = re.match(r'(.+)\((\d)\)','ABC1.1(1)')
if matchObj:
   print("matchObj.group() : ", matchObj.group())
   print("matchObj.group(1) : ", matchObj.group(1))
   print("matchObj.group(2) : ", matchObj.group(2))
segment_test = re.compile(r'(.*)\((.*)\)')
match = segment_test.match('%DEF2.1(3)')
print match.group()
print match.group(1)
print match.group(2)
>>>import re
>>>pattern = re.compile(r"(.*?)\((.*?)\)", flags=re.DOTALL)
>>>pattern.findall("@ I/O GHI3.3(5)")
[('@ I/O GHI3.3', '5')]
>>>pattern.findall("ABC1.1(1)")
[('ABC1.1', '1')]
>>>pattern.findall("%DEF2.1(3) ABC1.1(1) @ I/O GHI3.3(5) ")
[('%DEF2.1', '3'), (' ABC1.1', '1'), (' @ I/O GHI3.3', '5')]
import re
s1 = 'ABC1.1(1)'
s2 = '%DEF2.1(3)'
s3 = '@ I/O GHI3.3(5) '
r1 = re.split('\(|\)', s1)
print(r1[0] , r1[1]) 
r2 = re.split('\(|\)', s2)
print(r2[0] , r2[1])
r3 = re.split('\(|\)', s3)
print(r3[0] , r3[1])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题