这是一个 GSM 字符集(如下)。我需要确保只有包含这些字符的文本才会匹配。如果文本包含此范围之外的任何内容 if 将不匹配...
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567889@?£_!1$"¥#è
?¤é%ù&ì\ò(Ç)*:Ø+;ÄäøÆ,<LÖlöæ-=ÑñÅß.>ÜüåÉ/§à¡¿'
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的...
@£$¥èéùìòÇ\fØø\nÅå?_?????????ÆæßÉ !\"#¤%&'()*+,-./[0-9]:;<=>\?¡[A-Z]ÄÖÑܧ¿[a-z]äöñüà\^\{\}\[~\]\|€
Run Code Online (Sandbox Code Playgroud)
我需要一个只匹配以下内容的正则表达式
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567889@?£_!1$"¥#è
?¤é%ù&ì\ò(Ç)*:Ø+;ÄäøÆ,<LÖlöæ-=ÑñÅß.>ÜüåÉ/§à¡¿'
Run Code Online (Sandbox Code Playgroud)
如何?谢谢。
更新:
rule = re.compile(r'^[\w@?£!1$"¥#è?¤é%ù&ì\\ò(Ç)*:Ø+;ÄäøÆ,<LÖlöæ\-=ÑñÅß.>ÜüåÉ/§à¡¿\']+$')
if not rule.search(value):
msg = u"Invalid characters."
raise ValidationError(msg)
Run Code Online (Sandbox Code Playgroud)
尝试
r'^[\w@?£!1$"¥#è?¤é%ù&ì\\ò(Ç)*:Ø+;ÄäøÆ,<LÖlöæ\-=ÑñÅß.>ÜüåÉ/§à¡¿\']+$'
Run Code Online (Sandbox Code Playgroud)
如果要在还包含其他字符的字符串中匹配上述字符,请删除前导^和尾随$.
请注意,上述内容不允许使用空格字符。如果您想包含它们,只需在集合中添加一个空格(或者\s如果您还想包含换行符,则添加)。