jump_p 发表于 2020-6-3 23:14:40

正则表达式



正则表达式不是括号在前,数字在后吗,为啥1995(台)这样数字在前,括号在后的也能被匹配到呢

Twilight6 发表于 2020-6-3 23:40:34

还能这样用...学到了

hrp 发表于 2020-6-3 23:45:55

本帖最后由 hrp 于 2020-6-4 00:10 编辑

字符集[]中表示所有要匹配的字符,与顺序无关。

Twilight6 发表于 2020-6-3 23:47:04

import re
s = '123456789'
a = re.findall('+',s)
a
>>>['123456789']
_________________________________
s = '123asd5wad'
a = re.findall('+',s)
a
>>> ['123', '5']


________________________________
a = re.findall('+',s)
a
>>>['123asd5wad']

自己去测试了下,知道为什么了,实际上就是在 [] 里之间的元素是好像是或的关系

所以你这里匹配还可以这样:
chinese = re.findall('[()\u4E00-\u9FA50-9]+',s)
还有这样:
chinese = re.findall('[\u4E00-\u9FA50-9()]+',s)
页: [1]
查看完整版本: 正则表达式