python - python中的正则表达式拆分字符串
问题描述
我有一个这样的字符串
SELECT [Orders$].[Category] AS [Category],
,
, [Orders$].[City] AS [City],
,
, [Orders$].[Country] AS [Country],
,
, [Orders$].[Customer ID] AS [Customer ID],
,
, [Orders$].[Customer Name] AS [Customer Name],
,
, [Orders$].[Discount] AS [Discount],
,
, [Orders$].[Profit] AS [Profit],
,
, [Orders$].[Quantity] AS [Quantity],
,
, [Orders$].[Region] AS [Region],
,
, [Orders$].[State] AS [State],
,
, [People$].[Person] AS [Person],
,
, [People$].[Region] AS [Region (People)]
,
,FROM [Orders$]
,
, INNER JOIN [People$] ON [Orders$].[Region] = [People$].[Region]
我只想动态获取 Category 和 city 而无需对 word 进行硬编码。我应该使用什么样的模式?这样我会将这两个值存储在一个数组中,该数组在下游程序中循环。
我尝试拆分文本
colName = re.split("\W+", result)
['SELECT',
'Orders',
'Category',
'AS',
'Category',
'13',
'10',
'Orders',
'City',
'AS',
'City',
'13',
'10',
它给了我整个字符串,现在不知道如何进行。有人可以帮忙吗??
谢谢
解决方案
不要使用拆分,使用re.findall()
.
matches = re.findall(r'\bAS\s+\[(.+?)\]', yourString)
您想要的单词在group(1)
每个匹配项中matches
。
推荐阅读
- sql - 如何在 SQL 的 where 子句中使用 sum?
- ios - 如何从指定的 ChildController 在 ParentController 中捕获导航
- ansible - 我们如何在来自 ansible Tower 的电子邮件通知中包含 playbook 相关信息,例如 playbook 中的一些变量值?
- python - Tkinter:使用网格列的框架中小部件的不规则间距
- c# - 计算 2 表 where 条件 - Linq
- reactjs - 带有功能组件和格式化程序的 react-jsx-highcharts
- github - Github 未检测到内部 index.html
- batch-file - 如何将我的 CMD 命令设置为快捷方式?
- c++ - 使用 LuaBridge 导出容器类
- javascript - js范围和窗口对象?