簡體   English   中英

Python 用正則表達式分割來分割字符串

[英]Python split with regular expression to divide string

我需要在 Python 中恢復正則表達式的 2 個結果:搜索的內容和所有其他內容。

例如,在:

"boofums",3,4

我想找出引號中的內容和不包含的內容:

boofums
,3,4

到目前為止,我所擁有的是:

bobbles = '"boofums",3,4'
pickles = re.split(r'\".*\"', bobbles)
morton = re.match(r'\".*\"', bobbles)
print(pickles[1])
print(morton[0])

,3,4
"boofums"

在我看來,這似乎效率極低,而且不像 Python 那樣。 有一個更好的方法嗎? (對於 StackOverflow 上的“有沒有更好的方法”構造感到抱歉,但是......我需要做得更好!)

...如果您能幫我提取引號中的內容,我可以輕松地在 Perl 或 Ruby 中執行此操作,那就更好了!

您可能最好使用正則表達式分組

所以對於你的例子,我會使用類似的東西

regex = re.compile("\"(.*)\"(.*)")
bobble_groups = regex.match(bobbles)

然后,您可以使用bobble_groups.group(1)來獲取引號。 如果您不想依賴索引號,請參閱 命名組

a, b = re.match('"(.*)"(.*)', bobbles).groups()

括號確定“保存”到匹配 object 的組

暫無
暫無

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

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