[英]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.