热线电话:13121318867

登录
2021-04-13 阅读量: 1992
运用正则表达式分割字符串的时候出现问题error: unterminated character set

代码如下

str1='中华队长林智胜 三分砲!!!\n人如其名\u3000真的「致胜」阿~'
import re
pattern=r',|\.|/|;|\'|\'|`|[|\]||\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|,|。|、|;|“|”|‘|’|【|】|《|》|·|!| |…|(|)'
result_list=re.split(pattern,str1)
result_list


错误提示如下

In [16]: str1='中华队长林智胜 三分砲!!!\n人如其名\u3000真的「致胜」阿~'

...:

...: import re

...: pattern=r',|\.|/|;|\'|\'|`|[|\]|

...: result_list=re.split(pattern,str1)

...: result_list

Traceback (most recent call last):


File ", line 5, in

result_list=re.split(pattern,str1)


File "D:\ProgramData\Anaconda3\lib\re.py", line 231, in split

return _compile(pattern, flags).split(string, maxsplit)


File "D:\ProgramData\Anaconda3\lib\re.py", line 304, in _compile

p = sre_compile.compile(pattern, flags)


File "D:\ProgramData\Anaconda3\lib\sre_compile.py", line 764, in compile

p = sre_parse.parse(p, flags)


File "D:\ProgramData\Anaconda3\lib\sre_parse.py", line 948, in parse

p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)


File "D:\ProgramData\Anaconda3\lib\sre_parse.py", line 443, in _parse_sub

itemsappend(_parse(source, state, verbose, nested + 1,


File "D:\ProgramData\Anaconda3\lib\sre_parse.py", line 549, in _parse

raise source.error("unterminated character set",


error: unterminated character set



解答:你的错误原因是

pattern=r',|\.|/|;|\'|\'|`|[|\]||\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|,|。|、|;|“|”|‘|’|【|】|《|》|·|!| |…|(|)'

[前面少写了一个\,加上之后就可以了

In [23]: str1='中华队长林智胜 三分砲!!!\n人如其名\u3000真的「致胜」阿~'

...: import re

...: pattern=r',|\.|/|;|\'|\'|`|\[|\]|

...: result_list=re.split(pattern,str1)

...: result_list

Out[23]: ['中华队长林智胜', '三分砲', '', '', '\n人如其名\u3000真的「致胜」阿', '']


0.6767
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子