我在网上找到了一些答案,但我没有使用正则表达式的经验,我认为这是我需要的.
我有一个字符串,需要用';'分割 或','也就是说,它必须是分号或逗号后跟空格.不带尾随空格的单个逗号应保持不变
示例字符串:
"b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]"
Run Code Online (Sandbox Code Playgroud)
应该拆分成包含以下内容的列表:
('b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3]' , 'mesitylene [000108-67-8]', 'polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]')
Run Code Online (Sandbox Code Playgroud) 我正在使用正则表达式使用多个分隔符分割字符串.但是如果我的两个分隔符在字符串中彼此相邻,则会在结果列表中放入一个空字符串.例如:
re.split(',|;', "This,is;a,;string")
Run Code Online (Sandbox Code Playgroud)
结果是
['This', 'is', 'a', '', 'string']
Run Code Online (Sandbox Code Playgroud)
有没有办法避免''在没有添加,;分隔符的情况下进入我的列表?
我有一个像这样的字符串/模式:
[xy][abc]
Run Code Online (Sandbox Code Playgroud)
我试图获取方括号内包含的值:
括号内没有括号.无效:[[abc][def]]
到目前为止,我有这个:
import re
pattern = "[xy][abc]"
x = re.compile("\[(.*?)\]")
m = outer.search(pattern)
inner_value = m.group(1)
print inner_value
Run Code Online (Sandbox Code Playgroud)
但这只给了我第一个方括号的内在价值.
有任何想法吗?我不想使用字符串拆分函数,我确信单独使用RegEx可能会以某种方式.