如何创建一个正则表达式,使字符串不包含间断/特殊字符,例如* $< ,> ? ! %[] | \?
rule = re.compile(r'')
答案 0 :(得分:2)
您可以在此处使用regex
或str.translate
:
>>> from string import punctuation
>>> punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> strs = "fo@#$%sf*&"
>>> re.sub(r'[{}]'.format(punctuation),'',strs)
'fosf'
>>> strs.translate(None,punctuation)
'fosf'
答案 1 :(得分:1)
rule = re.compile(r'^[^*$<,>?!%[]\|\\?]*$')
^
:字符串开始。
[^ .... ]
:否定字符类 - 匹配除了这些字符之外的任何内容
*
:重复0次或更多次
$
:字符串结束。