![](/img/trans.png)
[英]Extraction of characters of particular length from a given string in python Regex
[英]How to extract characters of particular length from a given string in python Regex
如何從python Regex中的給定字符串中提取特定長度的字符
嗨,我有像,
例如:
在這里我需要提取NEG作為我在python中編寫正則表達式
Portability(.+?) Ratio,
Portability(.+?)Ratio
在可移植性之后我第一次“NEG”是我應該得到的價值。 第一個和第二個記錄給出正確的輸出為“NEG”。 但在我的第三張唱片中,我得到的是“NEG NEG”,這是一個錯誤的值。
我也只需要獲得第三個記錄的“NEG”。我應該給前三個字符的長度只取“NEG”。 如果是這樣,請告訴我如何根據這一點編寫正則表達式?
的.
表示任何字符, +
符號表示“至少一個”但不指定上限。 你想要\\w{n}
,其中\\w
表示字符, n
表示出現次數。
另請注意\\w
包含算術數字,因此如果您只想要字母,最好使用[a-zA-Z]{3}
如果在使用Portability
之后必須提取任何 3個字符
re.findall(r"Portability(.{3}).*?Ratio", s)
請參閱正則表達式演示
如果這些是大寫字母,請用[AZ]{3}
替換.{3}
[AZ]{3}
。
細節 :
Portability
- 文字字符序列 (.{3})
- 捕獲組1:正好3個字符(如果不使用re.S
/ re.DOTALL
修飾符,則除了換行符之外的任何字符),因為{3}
是一個限制量詞,匹配內部定義的出現次數{...}
.*?Ratio
- 除了換行符之外的任何0+字符盡可能少(因為*?
是一個惰性量詞)直到第一個Ratio
子字符串。 re.findall
只返回捕獲的值,因此您只能獲得NEG
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.