2024-05-16 03:05:10 发布
网友
我试图用python编写一个包含重音字符(例如法语)的正则表达式验证器,但是,我找不到一个有效的正则表达式模式来实现这一点。我已经试过了:What's a good regex to include accented characters in a simple way?
但我仍然无法验证ådam例如,我基本上希望所有字母数字字符加上-、空格和撇号,但我使用的正则表达式不起作用:
ådam
-
(?i)^(?:(?![×Þß÷þø])[-'0-9a-zÀ-ÿ ])+$
这可以通过导入regex包并使用Unicode类别\p{L}来匹配任何语言的任何类型的字母来实现。撇号、空格、连字符和数字0-9也匹配
regex
\p{L}
0-9
import regex string = "abcd ßloc ådam - + * 1 2 3 ''×Þß÷þø À-ÿ" pattern = r"[\p{L}\d-' ]+" result = regex.findall(pattern, string) print(result) # OUTPUT # ['abcd ßloc ådam - ', ' ', " 1 2 3 ''", 'Þß', 'þø À-ÿ']
您可以将内置的re模块与以下表达式一起使用:
re
^(?:[^\W_]|[ '-])+$
详细信息
^
(?:[^\W_]|[ '-])+
[^\W_]
|
[ '-]
$
见regex demo
这可以通过导入
regex
包并使用Unicode类别\p{L}
来匹配任何语言的任何类型的字母来实现。撇号、空格、连字符和数字0-9
也匹配您可以将内置的
re
模块与以下表达式一起使用:详细信息
^
-字符串的开头(?:[^\W_]|[ '-])+
-一次或多次出现[^\W_]
-任何字母或数字|
-或[ '-]
-空格,撇号$
-字符串的结尾李>见regex demo
相关问题 更多 >
编程相关推荐