Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python正则表达式查找/拆分精确单词,包括结尾处的括号/excel公式_Python_Regex_Parentheses - Fatal编程技术网

Python正则表达式查找/拆分精确单词,包括结尾处的括号/excel公式

Python正则表达式查找/拆分精确单词,包括结尾处的括号/excel公式,python,regex,parentheses,Python,Regex,Parentheses,我对正则表达式的最后一部分有困难,这是我尝试将字符串拆分为 未用括号括起来的大写字母 双引号包围字符(包括引号) 操作员 数字 确切的单词TODAY() 重新导入 s1='A+“你好”+B' s2='A+(100-20)' s3='A-B+TODAY()-100' 打印(重新拆分(“([A-Z]+\[”]。?[“]\\[\=\+\-\%\*\^]\\+\b今天(\)\b)”,s1)) #应为[“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”

我对正则表达式的最后一部分有困难,这是我尝试将字符串拆分为

  • 未用括号括起来的大写字母
  • 双引号包围字符(包括引号)
  • 操作员
  • 数字
  • 确切的单词
    TODAY()
重新导入
s1='A+“你好”+B'
s2='A+(100-20)'
s3='A-B+TODAY()-100'
打印(重新拆分(“([A-Z]+\[”]。?[“]\\[\=\+\-\%\*\^]\\+\b今天(\)\b)”,s1))
#应为[“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”]
#实际值['''A',''''+',''hello','+',''B',']
打印(重新拆分(“([A-Z]+|[”]。?[“]|[\=\+\-\%\*\^]\\+\b今天\(\)\b)”,s2))
#应为['''A',''''+','(''100','-','20',')]
#实际值[“‘A’、”、“+”、“(100’、“-”、‘20)”]
打印(重新拆分(“([A-Z]+\[”]。?[“]\\[\=\+\-\%\*\^]\\+\b今天(\)\b)”,s3))
#预期的[“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”
#实际的,实际的

编辑:更正,意思是说任何长度的双引号包围字符

今天匹配()的模式应该是第一种选择

import re    
print (re.split('(TODAY\(\)|[A-Z]+|["].?["]|[\=\+\-\%\*\^])','A-B+TODAY()'))

我认为你没有正确地摆脱背后的伤痕。尝试将您的模式转换为原始字符串:
r'([a-Z]+|[“]?[“].[\=\+\-\%\*\^]\124;\ b今天(\)\b);'a-b+TODAY()'
您可能还希望包含涵盖所有边缘情况的示例数据(我不确定此处正确显示的是括号边缘情况)。