簡體   English   中英

正則表達式不能以什么字符開頭?

[英]What characters can't a regex expression start with?

我正在編寫一個簡短的腳本,該腳本將使用字符串作為正則表達式或字典鍵。 不過,我想將所有這些數據保留在字符串中,而無需在另一個變量中指定它是兩個變量中的哪個。

我決定使用字符串的第一個字符來指定它是正則表達式還是字典鍵。 因為我認為不可能以?開始正則表達式? ,我用過。

tests = (
    r'\d+',
    '?test'
)

values = {
    "test": "Success!"
}

for test in tests:
    if test.startswith('?'):
        print(values.get(test[1:]))
    else:
        print(re.match(test, '123').string)

我假設正則表達式可能永遠不會以?開頭? 字符? 還有哪些其他字符(出現在QWERTY鍵盤上)永遠無法啟動正則表達式?

在這里,任何重復字符( ?*+ )都是一個不錯的選擇,因為必須在它們前面加上其他模式。 $只能在不重要的正則表達式的末尾使用,因此它也是一個不錯的選擇。 }])必須遵循它們的開頭等效項,因此也可以使用。

暫無
暫無

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

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