python正则 报错 nothing to repeat at position

在学习用正则来处理字符串,要处理的字符串是下面这种的,想用正则的方式,把|隔开的文本提取出来

text="中国|我爱你|国庆大典|大阅兵"

写了一个正则

pattern = r'(^?[^|]+$?)'
result = re.findall(pattern, text)

执行后,就报错了,提示:nothing to repeat at position 

网上查了一下,说是正则的写法错误

我改了下写法

pattern = r'([^]?[^|]+[$]?)'
result = re.findall(pattern, text)

这样改写后,就执行正常,获取到了目标字符串数组了

至于为什么第一种写法不对,暂时还不了解。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值