regex 字母数字正则表达式,但允许 * 或-零或1次,同时不超过最大长度[已关闭]

v6ylcynt  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(119)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

昨天关门了。
Improve this question
我希望正则表达式模式匹配字母数字,但只允许 *(星号)或-(连字符)出现不超过1次。此外,字符串不应超过5的长度。
匹配字符串

abcds
a*a1a
11*a-
-a*hu
124ed
0-aur
ABC
8*-a
a

不匹配的字符串

**ab1 <-- two *s
--ahy <-- two -s
0-a-* <-- two -s
111-*1  <--exceeds length
abcdef  <--exceeds length
u-a-r  <-- two -s

感谢您的帮助!

kb5ga3dv

kb5ga3dv1#

您可以使用负Lookahead来确认字符串不包含多个给定字符。下面是一个示例:

^(?:[A-Za-z0-9]|([*-])(?!.*\1)){1,5}$

我的天啊
或者:

^(?!.*([*-]).*\1)[A-Za-z0-9*-]{1,5}$

我的天啊

参考:

相关问题