簡體   English   中英

正則表達式在一行中的任意位置准確找到六個引號

[英]Regex find exactly six quotation marks anywhere in a line

我試圖找到一個正則表達式,如果一行中正好有 6 個雙引號(“),它將返回 true。

我試過這個:

["]{6}

但是,如果它們彼此相鄰,那似乎只會返回 6 個雙引號。

1. """""" = true
2. "ashsjg"sgshs"skjgsk"skhsgh"sjg" = false

有沒有辦法檢查行中任何地方的 6 個引號,以便 2. 變為真?

謝謝

您需要匹配引號之間的非引號。 而且您必須錨定正則表達式,以便在比賽之前/之后不允許引用。

^(?:[^"]*"){6}[^"]*$

如果你想知道一個字符串中是否有 6 個雙引號,你可以試試這個:

import re
re_quote = re.compile('"')
def six_double_quote(line):
    if len(re.findall(re_quote,line))==6:
        return True
    else:
        return False

但我認為只使用字符串count更簡單:

def six_double_quote(line):
    if line.count('"')==6:
        return True
    else:
        return False

暫無
暫無

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

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