专利号示例: CN109583349-A 、US2020258388-A1、WO2020164484-A1、US8055018-B2、TW331307-B1
分析: 前两位为字母,中间为长度6–11的数字,借一个横杠-,再加一位字母和数字(可选) 正则表达式
re = [A-Z]{2}\d{5,13}\-[A-Z](\d){0,1}
表达式分析:
- [A-Z] 表示一个区间,匹配所有大写字母,[a-z] 表示所有小写字母。
- {2}表示2位字母
- \d 表示匹配一个数字字符,等价于0–9
- {5,13}表示 数字字符串长度最短为5,最长为13.
- 横杠 -
- [A-Z] 再匹配一位字母
实例展示:
import re
pn_re = re.compile(r'[A-Z]{2}\d{5,13}\-[A-Z]\d{0,1}', re.S)
str_test = 'EP3771993-A1 -- CN109104464-A UNIV SOUTHEAST (UYSE) JIN J, LI Y, LUO J, XIONG R; FR3099613-A1 -- CN109104464-A UNIV SOUTHEAST (UYSE) JIN J, LI Y, LUO J, XIONG R'
result = re.findall(pn_re,str_test)
print(result)
如果文章对你有帮助的话,麻烦点一个赞! python 在线正则表达式测试网站:https://c.runoob.com/front-end/854/ 参考: [1] https://ask.csdn.net/questions/715375 [2] https://www.runoob.com/python3/python3-reg-expressions.html
|