我需要编写一个编辑控件掩码,它应该接受[a-zA-Z]
字母以及扩展的法语和葡萄牙语符号,如[ùàçéèçǵ]
. 掩码应接受大写和小写符号。如果找到两个建议:
[\p{L}]
和
[a-zA-Z0-9\u0080-\u009F]
编写这样一个正则表达式的正确方法是什么?
更新:我的问题是关于形成一个应该匹配(而不是过滤)法语和葡萄牙语字符的正则表达式,以便在编辑控件中显示它。不区分大小写的解决方案对我没有帮助。[\p{L}] 似乎是一个 Unicode 字符类,我需要一个 ASCII 正则表达式。允许使用数字,但不允许使用特殊字符,例如 !@#$%^&*)_+}{|"?><(应过滤)。
我发现最有效的变体是 [a-zA-Z0-9\u00B5-\u00FF]
https://regex101.com/r/EPF1rg/2
问题是为什么 [ùàçéèçǵ] 的范围是 \u00B5-\u00FF 而不是 \u0080-\u009F ?正如我从 CP860(葡萄牙语代码页)和 CP863(法语代码页)中看到的,它应该在 \u0080-\u009F 范围内。
https://www.ascii-codes.com/cp860.html
谁能解释一下?