python 正则表达式
PHPz
PHPz 2017-04-18 09:14:36
[Python讨论组]

如何匹配一个前面没有“代理”二字的中文公司如:火狐有限公司
但“火狐代理有限公司”就不匹配。而且“公司”必须得有
我是这样的,但是python里运行并没有成功,
[\u4e00-\u9fa5]+(?<!代理)有{0,1}限{0,1}公司,谢谢

PHPz
PHPz

学习是最好的投资!

全部回复(3)
高洛峰

谢邀,正则表达式我不擅长,但你可以试试[\u4e00-\u9fa5]{1,}.{1,}[^代理]公司,在我的测试中能work

伊谢尔伦

python2 要用unicode进行匹配

regex = ur'^(?!.*代理.*).*公司$'
print(re.findall(regex, u'火狐代理有限公司'))
print(re.findall(regex, u'代理有限公司'))
print(re.findall(regex, u'有限公司'))

python3 将u去掉就可以了

伊谢尔伦

我觉得你还是听昨天那哥们的意见,用python3吧,
我用python3试了下,一切正常,2里面就得不到结果.

python3 下的运行结果:

>>> re.findall(r'^[^代理].*有?限?公司', "火狐代理有限公司")
['火狐代理有限公司']
>>> re.findall(r'^[^代理].*有?限?公司', "代理有限公司")
[]
>>> re.findall(r'^[^代理].*有?限?公司', "有限公司")
['有限公司']
>>>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号