gpt4 book ai didi

regex - 验证字符串是否仅包含 ASCII 字符和数字

转载 作者:行者123 更新时间:2023-11-29 09:44:25 24 4
gpt4 key购买 nike

我这样做是为了验证用户名:

if [[ "$username" =~ ^[a-z][_a-z0-9]{2,17}$ ]]; then

但实际上,包含 é、ç、à 等 unicode 字符的用户名是被接受的。我应该使用什么正则表达式类来将字符串限制为仅 ascii 字母(a、b、c、d ... z)?

最佳答案

bullet-proof 方法是简单地将 [a-z] 拼写为 [abcdefghijklmnopqrstuvwxyz]。那里!自 1970 年 1 月 1 日 00:00:00 以来,没有混淆语言环境或有趣的字符类,并且在任何 shell 上都受支持。面向 future ,无论您的操作系统供应商、外壳供应商、Unix 标准化流程或 BOFH 认为什么很酷。

有一个额外的变量lc比如

lc=abcdefghijklmnopqrstuvwxyz

正则表达式甚至变得可读:

[$lc][_0-9$lc]{2,17}

这就是高度健壮和可移植的 configure 脚本所做的。

关于regex - 验证字符串是否仅包含 ASCII 字符和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16731455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com