簡體   English   中英

正則表達式-在多次出現的定界符之間匹配每個項目

[英]Regex - Match each item between multiple occurrences of delimiter

我想在Python中使用Regex表達式匹配給定分隔符之間的值。 我想忽略周圍的空白。 例如:

  • 字符串1, b cc, "a"和delimiter ,將返回三個匹配項1b cc"a"

  • 字符串4 + 5 + 2 +1和定界符+將返回四場比賽的4521

import re
line = '1, b cc, "a"'
re.split(r'[;,]\s*', line)
Out[7]: ['1', 'b cc', '"a"']

line = '4 +   5 +   2  +1'
re.split(r'\s*[+]\s*', line)
Out[10]: ['4', '5', '2', '1']

re.split()函數很有用,因為您可以為分隔符指定多個模式。

在這種情況下,對於您的第一個請求,分隔符可以是comma (,)semicolon (;) ,后跟任意數量的多余whitespace 對於您的第二個請求,分隔符是plus (+) ,並由任意數量的多余whitespaces包圍。

只要找到該模式,整個比賽就成為比賽雙方任何字段之間的分隔符。 結果是一個字段列表,與str.split()

您可以使用re.split()方法執行此操作。

import re

re.split('\s*,\s*', '1, b cc, "a"')

re.split('\s*\+\s*', '4 +   5 +   2  +1')

暫無
暫無

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

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