簡體   English   中英

正則表達式重新查找

[英]regex re.findall

我有一個這樣的字符串:

string = ' "K" -4+2-2+1+ "W" +4-1-6-8-6-4+5+ "Q" ' 

我想用 re.findall 創建一個列表,如下所示:

['"K"', "-4+2-2+1+", '"W"', "+4-1-6-8-6-4+5+", '"Q"']

誰可以幫我這個事?

你不需要正則表達式,你需要string.split()

您可以使用string.split()來拆分字符串中的空格。 由於您的特定字符串也有尾隨空格,因此我建議您也使用string.strip()

mystring = ' "K" -4+2-2+1+ "W" +4-1-6-8-6-4+5+ "Q" '
mylist = mystring.strip().split(" ")

mylist將具有您需要的格式:

['"K"', '-4+2-2+1+', '"W"', '+4-1-6-8-6-4+5+', '"Q"']

如果您真的需要使用正則表達式執行此操作,我想您可以使用如下表達式:

import re

myregex = r"(\"\w\") ([-+0-9]+) (\"\w\") ([-+0-9]+) (\"\w\")"
mystring = ' "K" -4+2-2+1+ "W" +4-1-6-8-6-4+5+ "Q" '

mylist = re.findall(myregex,mystring)

兩者都會產生相同的列表,但使用stripsplit可能會有更好的性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM