簡體   English   中英

Python 中的正則表達式,2-3 個數字,然后 2 個字母

[英]Regular expression in Python, 2-3 numbers then 2 letters

我正在嘗試在衣服列表中自動檢測胸罩尺寸。 雖然我設法只提取了胸罩物品,但我現在正在考慮提取尺寸信息,我想我幾乎就在那里(感謝 stackoverflow 社區)。 但是,有一個特殊情況我在另一篇文章中找不到。

我正在使用: regexp = re.compile(r' \d{2,3}?[a-fA-F]([^bce-zBCE-Z]|$)')
所以
如果不是在描述的開頭可能的空白
兩個或三個數字
是否存在另一個可能的空白
A 和 F 之間的任何字母(小寫或大寫)
然后是兩個特殊情況 AA 和 FF 或字符串結尾的另一個字母。

我的問題是,有沒有辦法讓第二個字母與第一個字母(AA 或 FF)匹配,因為在我的情況下,我的代碼 output 我的一些 BA 和 CA 大小不存在

例子:
不工作:
“bh sexig top matchande h&m genomskinligt parti svart detaljer 42 basic plain”返回“42 ba”而不是未找到
“puma, sport-bh, strl: 34cd, svart/grå”,我猜客戶的意思是 c/d

工作正常:
"victoria's secret, bh, strl: 32c, gul/vit" 返回 "32 c"
“pink victorias secret bh 75dd burgundy”返回“75 dd”

謝謝!

你可能會使用

 \d{2,3} ?([a-fA-F])\1?(?![a-fA-F])

解釋

  • \d{2,3}? 匹配一個空格、2-3位數字和可選空格
  • ([a-fA-F])\1? 在第 1 組中捕獲 a-fA-F,然后是對第 1 組的可選反向引用
  • (?![a-fA-F])負前瞻,斷言右邊的不是 a-fA-F

正則表達式演示

暫無
暫無

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

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