簡體   English   中英

正則表達式:2 雙引號括起 python 中的字符串搜索

[英]RegEx: 2 double quote enclose string search in python

我嘗試以下字符串:

text = '"Some Text","Some Text","18.3",""I Love You, Dad"","","","Some Text"'
result = re.findall(r'""[^"]+""', text)

此結果返回以下列表 ['""我愛你,爸爸""', '"",""']

但我只想要列表的第一項如何從正則表達式中刪除第二項。 這里的“我愛你,爸爸”是可變的,任何字符串都可以用 2 個雙引號括起來。 這里的條件是:字符串用 2 個雙引號括起來。

您可以使用

re.findall(r'(?<![^,])""([A-Za-z].*?)""(?![^,])', text)

請參閱正則表達式演示 詳情

  • (?<,[^,]) - 左逗號邊界(字符串的開頭或當前位置左側需要的逗號以外的字符)
  • "" - 兩個雙引號
  • ([A-Za-z].*?) - 第 1 組:一個 ASCII 字母(使用[^\W\d_]匹配任何 Unicode 字母)然后除換行符以外的任何零個或多個字符盡可能少
  • "" - 兩個雙引號
  • (?,[^,]) - 右逗號邊界(字符串結尾或當前位置右側需要的逗號以外的字符)

re.findall() 方法查找文本的所有實例。 re.search() 方法要么返回 None(如果模式不匹配),要么返回包含有關字符串匹配部分的信息的 re.MatchObject。 此方法在第一次匹配后停止

import re;
text = '"Some Text","Some Text","18.3",""I Love You, Dad"","","","Some Text"'
result = re.search(r'""[^"]+""', text)
if result != None: 
    print("% s" % (result.group(0)))

暫無
暫無

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

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