提问人:Asaw 提问时间:10/3/2023 最后编辑:Dmitry BychenkoAsaw 更新时间:10/4/2023 访问量:56
使用正则表达式进行字符串验证
String validation using regular expressions
问:
我需要为 3 条规则创建一个正则表达式。
- 字符串可以以字母或 .字母或 之前不允许使用数字。
_
_
- 可以添加到任何地方。
_
- 不允许使用特殊字符或空格。
我创建了 2 个正则表达式(和),但不知道如何将它们组合在一起。此外,规则末尾不包含数字(如)。^[A-Za-z0-9_]*$
^[^0-9]*$
_Sss12
_Aaa12 - correct
Aaa - correct
aa aa - fail
12aa - fail
答:
3赞
Dmitry Bychenko
10/3/2023
#1
据我所知,您想要匹配一个标识符,该标识符
- 必须以字母开头,或者
A..Z
a..z
_
- 可以包含字母、 或 或数字
A..Z
a..z
_
0..9
如果是你的情况,那么模式可以是
^[A-Za-z_][A-Za-z0-9_]*$
哪里
^ - anchor, start of the string
[A-Za-z_] - Letter A..Z or a..z or symbol _
[A-Za-z0-9_]* - Zero or more letters, digits or _
$ - anchor, end of the string
如果字母可以是任何Unicode字母,而不是必需的拉丁字母,则可以使用(对于任何Unicode数字,可以使用不必要的字母,但我怀疑您是否希望在模式中使用波斯语或印度数字):\p{L}
0..9
\d
^[\p{L}_][\p{L}0-9_]*$
上一个:车号的正则表达式
评论
^[A-Za-z_][A-Za-z0-9_]*$
。