簡體   English   中英

在 Python 中匹配八進制或十六進制表示的正確正則表達式是什么?

[英]What is the correct regex expression to match octal or hexadecimal representation in Python?

我當前的代碼是^0x[az\d]+|^0o[\d]+並且它失敗了。

在 Python 中以八進制或十六進制表示形式捕獲數字。 八進制數字以前綴“0o”(數字 0 后跟小寫字母 o)開頭,后跟 0 到 7 范圍內的一個或多個數字。例如 0o112、0o237、0o07。

十六進制數字以前綴“0x”開頭,后跟一個或多個 0 到 9 范圍內的數字或 a 到 f 范圍內的小寫字母。 例如 0xf3、0x1d、0x072。

利用

 ^0(?:x[a-f0-7]+|o[0-7]+)$

解釋

-----------------------------------------------------------------------------
  ^                                  start of string
-----------------------------------------------------------------------------
  0                                  '0'
-----------------------------------------------------------------------------
  (?:x[a-f0-7]+|o[0-7]+)             'x' and one or more a-f / 0-7 characters
                                     or
                                     'o' and one or more 0-7 digits 
-----------------------------------------------------------------------------
  $                                  end of string    

暫無
暫無

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

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