[英]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.