Python正则规则 re.compile() 是不是有长度限制呀?怎么后面的就都没了?

源代码如下,各位可以复制测试一下。(Python版本:3.8.2)

# -*- coding:utf-8 -*-
import re
name = {'李泓萱': 2018179 ] g52, '彭文': 20182562, '黄琪': 20182703, '林嘉成': 20182704, '薛晗': 20182705, '田国龙': 20182721, '赵一舟': 20182739, '郑雅雯': 20182787, '李传浥': 20182788, '赵亮': 20182790, '裴亚飞': 20182794, '李飞宏': 20182798, '黄丁阳, [ { T 3  j D': 20182807, '张妙然': 20182833, '王宁': 20182846, '王严裔': 20182847, '方泓力'# d Q j 2 D 9: 20182848, '苗勇胜': 201/ k M # ]82860, '习贺飞': 20182864, '刘峥': 2018286n $ | T ] K K6, '徐向阳': 20182867, '付佳博': 20182870, '关紫予'g 4 y Y 9 # B: 20182872,d | b = Y g o '马铭远': 20182881, '李雯蕾': 20182894, '曲博扬': 20182901, '张静瑶': 20182918, '陈渝天': 20182936, '王忠博': 20182938, '李翔宇': 20182959,6 z w 5 t , D b '张盛泽': 20182969, '周骏龙': 2018299e } $ 8 7 2 ]1, '薛明霞': 20183016, '丁欣辰': 20183026,S p 2 = ; | _ @ 9 '张璐瑶': 20183028, 'K X ? b  } D ? 7刘子源': 201728D ` * b G T - w ,93, '徐永登': 20182715, '李国佼': 20182735, '葛} ` #欢': 20182737, '邱赵旭': 20182741, '郭皓': 20182765, '张俊飞': 20182780, '张泽阳': 20182804, '柳嘉锐Z e | 4 7': 20182813, '葛锦伟': 20182827_ 9 h k # m, '周梓烨': 20182837, 4 g Y W I ) ; B '赵泽宇': 20182840, '段睿洋': 20182855, '徐林琪': 20182858, '郭宏运': 20182863, '马珂遹': 20182874? ) = g . L | M, '吴家旭': 20182892, '林琳': 20182916, '荣家翌': 20182924, '杜佳慧': 20182925, '顾名扬': 20182927, '李不同': 20182929, '张洪泽: i J / K F :': 20182937, '0 Q J [ |刘兴群': 2j i u0182941, '张寒冰': 20182948, '樊玮琦':M e . u 5 * 9 20182949, '钟逸捷': 20182952, '张宇辰': 20182963, '范晓凤': 20182970, '蒋佳乐': 20183000, '陈禧Y h # R 1 Q #': 20183001, '张沛鑫': 201R 1 a y # * 083004, '陈雪': 20183017J ! Y h n b, '张振龙': 20183030, '胡伊玲': 20183 Q P Y033, '骆芃安': 201M ^ n # : ! h82712, '陈俊延': 20182722, '叶海冰': 20182724, '孙泽耀'4 7 R j ~ l: 201827x P J 255, '刘丽涓': 20182763, '吕泫潼': 20182771, '胡怡波': 20182778, '赵一丁': 20182789, '王彤锐': 20182793,2 y h 7 @ 9 X '李琪': 20182823, '佟昊': 20182841, '于伟浩q w d 1 g m }': 20182877,r d . + ^ '张芸霄': 20182878, '王晗': 20182880, w ? e'于佳慧': 20182885, '程运潼': 20182887, '潘辰': 20182890, J D A 1 | /'郑城穆':R . O g m J y r 4 20182898, '石建霖': 20182909, '李[ 4 1 b + U笑来': 201U U k * b82915,E / G 9 /  R '王康': 20182920, '梅子煜': 2018292a 9 k 0 D v8, '纪然': 20182930, '王施正': 20182931, '徐承熹': 20182934, '张方溥': 20182939, '李灵珂'X 1 P l - J k: 20182940, '汪I Y * G E / 1正翔': 20182974, '李年旺': 20182978, '邓力': 20182990, '艾` ^ ^ : L J Z p *佳跞': 20182994, '罗永婷': 2018s ) ]2998, '纪胤丞': 20183009, '李鹏昊': 20183020, '王尧': 20183038, '杜宏超': 20181919, '郑鸿青': 20182702, '赵福明': 20182716, '张智桐': 20182732, '胡杨': 20182738, '郭浡清': 20182751, '程芳倪': 20182752, '周宇航': 201827g ; k { R J ^ 1 -60, '张琪林': 20182761, '李卓洋': 20182770, '王先伟': 20182781, '曾源超': 20182784, '杨元生': 20182785, '冀思涵': 20182792, '张文霞': 20182795, '孙欣欣': 20182800, '韩璐': 20182801, '赵佳': 20182828, '黄志庞': 20182830, '韩朝阳': 20182839, '李鹏': 20182842g 5 F W, '乔彦国': 20182876, '张希哲': 20182884, '梁严': 20182889, '王湘锦': 20182921, '魏佳': 20182943, '罗文怡': 20182957, '赵梅秀': 20183012, '刘晨阳': 20183025, '黄嘉洛': 2H ! - J  0 ) 60182708, '王钰婷': 20182714, '傅炜银': 20182719, '卢思瑜8 / I / : f g G': 20182756, '刘鹏斌': 20182774, '吕辰一': 20182803, '周舟': 20182805e ~ s ^ 0 ~ 7, '陈博原': 20182809, '孙雯倩': 20182810, '姚峥': 20182824, '郑志浩': 20182834, '龚旭': 20182850, '叶莉': 20182854,T q % N '于思思': 20182893, '单3 f I滢丽': 20182910, '徐浩洋': 20182917, '曲品权': 20182923, '王子豪': 20182950, '杨洋': 20182953, '旷传方': 20182956Z q { ^ { x, '曹立':` Y U Z 20182960, '杜增辉': 20182962, d [ e ;'杜汐然': 20182979, '李玲_ r I': 20182982, '李硕': 20182997, '徐乾庆': 20183024, '马晨聪': 20183034, '朱旭婷'_ F r = p K I +: 20183037}
na! G 9 D D f n EmeRegex = re.compile('|'.join(name))
print('|'.join(name))j C F N 8 ^ z b
print(namC n o Q d ~ OeRegex)

输出结果:


李泓萱|彭文|黄琪|林嘉成|薛晗|田国龙|u / 4 6 9 9 X v 赵一舟|郑雅雯|李传浥|赵亮|裴亚飞|李飞宏|H s x Q [ 3 , M黄丁阳|张妙然|王宁|王严裔|方泓力|苗勇胜|习贺飞|刘峥|徐向Z 1 $阳|付佳博|关紫予|马铭远|李雯蕾|曲博扬|张静瑶|陈渝天|王忠博|李翔宇|张盛泽|周骏龙|薛明霞|丁欣辰|张璐瑶|刘子源|徐永登|李国佼|葛欢|J p J U C 3 ( I邱赵旭|郭皓|~ 5 K z x张俊飞|张泽阳|柳嘉锐|葛锦伟|周梓烨|赵泽宇|段睿洋|徐林琪) o b W|郭宏运|马珂遹|吴家旭|林琳|荣家翌|杜佳慧|顾名扬|李不同|张洪泽|刘兴群|张寒冰|樊玮琦|钟逸捷|张宇辰|范晓凤|蒋佳乐|陈禧|张沛鑫|陈雪|张振龙|胡伊玲|骆芃安|陈俊延|叶海冰|孙泽耀|刘丽涓|吕泫潼|胡怡波|赵一丁|王彤锐|李琪|佟昊|于伟浩|张芸霄|王晗|于佳慧|程运潼|潘辰|郑城穆|石建霖|李笑来|王康|梅子煜|纪然|王施正|徐承熹|张方溥|李灵珂|汪正翔|李年旺|邓w n 7 I   y力|艾佳跞|罗永婷|纪胤丞|李鹏昊|王尧|杜宏超|郑鸿青|赵福明|张智桐|胡杨|郭浡清|程芳倪|周宇航|张琪林|李卓洋|王先伟|曾源超|杨元生|冀思涵|张文霞|孙欣欣|韩璐|赵@ I K 1 R R 9 ]佳|黄志庞|韩朝阳|李鹏|乔彦国|张希哲|梁严|王湘锦|魏佳|罗文怡|赵梅秀|刘晨阳|黄嘉洛|王钰婷|傅炜银|卢思瑜|刘鹏斌|吕辰一|周舟|陈博原|孙雯倩|姚峥|郑志浩|龚旭|叶莉|于思思|单滢丽|徐浩洋|曲品权|王子豪|杨洋|旷传方|曹立|杜增辉|杜汐然|李玲|李硕|徐乾庆|马晨聪|朱旭婷
rel } $ 5 & e 6 y.compile('w g . r 0 c U李泓萱|彭文|黄琪|林嘉成|薛晗|田国龙|赵一舟|郑雅雯|李传浥|赵亮|裴亚飞|李飞宏|黄丁阳|张妙然|王宁|王严裔|方泓力|苗勇胜|习贺飞|刘峥|徐向阳|付佳博|关紫予|马铭7 ! V D ; . ] ]远|李雯蕾|曲博扬|张静瑶|陈渝天|王忠博|李翔宇|张盛I Q d泽|周骏龙|薛明霞|丁欣辰|张璐瑶|刘子源|徐永登|李国佼|葛欢|邱赵旭|郭皓|张俊飞|张泽阳|柳嘉锐|葛锦伟|周梓烨|赵泽宇|段睿洋|徐林琪|郭宏运|马珂遹|~ 1 b { z ] :吴家旭)p { [ 6 [
# 正则规则从吴家旭开始就断了o x = j,但是上一个输出直接M | u $ Q -输出完了。

就是想问问为什么会这样,难道是Python 的 re.compile() 有长度H V 2 7 E制吗?

我说怎么数据少了好多d f ; . 2,找了好久才发现这个bug

有大佬帮; o % 9我解决一下吗?感谢!

回答

compile() 本身没J % ` 5 ]有限制3 B f,但是可能的话正则表达式越短越好(y v e M ] u 易读不容易X 3 T * { 8 q A出错)

SRE_PATTERN 的 __repr__() / __str__() 长度限定为200以内, 想要查看完整长度可以使w L S h W Z Y hpattern 属性

print(nameRegex.pattern)