簡體   English   中英

如何檢查字符串是否是 Python 中的有效正則表達式?

[英]How to check if a string is a valid regex in Python?

在 Java 中,我可以使用以下函數來檢查字符串是否是有效的正則表達式 ( source ):

boolean isRegex;
try {
  Pattern.compile(input);
  isRegex = true;
} catch (PatternSyntaxException e) {
  isRegex = false;
}

是否有 Python 等效的Pattern.compile()PatternSyntaxException 如果是,那是什么?

類似於Java。 使用re.error異常:

import re

try:
    re.compile('[')
    is_valid = True
except re.error:
    is_valid = False

異常re.error

當傳遞給此處函數之一的字符串不是有效的正則表達式(例如,它可能包含不匹配的括號)或在編譯或匹配期間發生其他一些錯誤時引發異常。 如果字符串不包含與模式匹配的內容,則永遠不會出錯。

編寫相同答案的另一種奇特方式:

import re
try:
    print(bool(re.compile(input())))
except re.error:
    print('False')

暫無
暫無

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

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