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

2024-05-19 02:52:02 发布

您现在位置:Python中文网/ 问答频道 /正文

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

  • 未用括号括起来的大写字母
  • 双引号包围字符(包括引号)
  • 操作员
  • 数字
  • 确切的单词TODAY()
import re

s1 = 'A+" hello"+B'
s2 = 'A+(100-20)'
s3 = 'A-B+TODAY()-100'

print (re.split('([A-Z]+|["].?["]|[\=\+\-\%\*\^]|\bTODAY\(\)\b)', s1))
#expected ['', 'A', '', '+', '" hello"', '+', '', 'B', '']
#actual   ['', 'A', '', '+', '" hello"', '+', '', 'B', '']

print (re.split('([A-Z]+|["].?["]|[\=\+\-\%\*\^]|\bTODAY\(\)\b)', s2))
#expected ['', 'A', '', '+', '(', '100', '-', '20', ')']
#actual   ['', 'A', '', '+', '(100', '-', '20)']

print (re.split('([A-Z]+|["].?["]|[\=\+\-\%\*\^]|\bTODAY\(\)\b)', s3))
#expected ['', 'A', '', '-', '', 'B', '', '+', '', 'TODAY', '()', '-', '100']
#actual   ['', 'A', '', '-', '', 'B', '', '+', '', 'TODAY()', '-', '100']

编辑:更正,意思是说任何长度的字符都用双引号括起来


Tags: 字符串rehellotodays3字符括号split

热门问题