如何在Python中编写一个正则表达式,它接受字母,数字和一些选定的特殊字符(,.- |;!_?)?

cha*_*shi 1 python pyramid colander

Python中的正则表达式,它接受字母,数字和仅这些特殊字符(,.- |;!_?).

我试过通过以下正则表达式解决问题,但它不起作用:

'([a-zA-Z0-9,.-|;!_?])$'
'([a-zA-Z0-9][.-|;!_?])$'
Run Code Online (Sandbox Code Playgroud)

有人可以帮我写正则表达式.

Tag*_*agc 5

我认为以下内容应该有效(在RegExr上测试Foo123,.-|;!_?):

^[\w,.\-|;!_?]*$
Run Code Online (Sandbox Code Playgroud)

在正则表达式中,您忘记转义' - '字符,该字符被解释为要匹配的字符范围.