[英]Regex in python splitting strings
我有一個這樣的字符串
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]
我只想動態獲取類別和城市,而不對單詞進行硬編碼。 我應該使用什么樣的模式? 這樣我會將這兩個值存儲在一個數組中,該數組在下游程序中循環。
我嘗試拆分文本
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)
您想要的單詞在 match 中每個matches
項的group(1)
中。
不確定我是否正確理解了您的問題,看來您可以繼續:
>>> category = colName[2]
>>> city = colName[8]
您可以打印檢查:
>>> print(category, city)
Category City
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.