返回信息流好像懂了。连字符左右的字符注意ASCII码顺序就好了。
---------
请教各位大佬一个正则问题。
为啥模式1中 [_-+]部分编译就会报错?
模式2 转义连字符[\-]之后编译就不报错?
```
>>> pattern1 = r"([A-Z0-9a-z_-+]+)@([A-Z0-9a-z.-]+)\.([A-Z]{2,4})"; ## 模式1
>>> pattern1 = r"([A-Z0-9a-z_\-+]+)@([A-Z0-9a-z.-]+)\.([A-Z]{2,4})"; ## 模式2
>>> reg1 = re.compile(pattern1, flags=re.I);
### 模式1 抛错:
raise source.error(msg, len(this) + 1 + len(that))
sre_constants.error: bad character range _-\+ at position 11
```
这是一条镜像帖。来源:北邮人论坛 / python / #19340同步于 2017/9/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
正则编译问题-连字符
Idontknow
2017/9/19镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
```
## 但是这个是可以编译通过的
pattern1 = r"([A-Z0-9a-z_%-+]+)@([A-Z0-9a-z.-]+)\.([A-Z]{2,4})";
## 这个编译不通过
pattern1 = r"([A-Z0-9a-z_-$]+)@([A-Z0-9a-z.-]+)\.([A-Z]{2,4})";
```
【 在 chenxiansf 的大作中提到: 】
: 因为_和+之间没啥可连的?