正则表达式只允许一次和最后一次使用星号(*)
Regex allow asterisk(*) only once time and in the end
我只想传递这样的字符串:
abc*
123*
abc 123*
abc-123abc*
我不想传递这样的字符串:
- abc**
- abc*123
- *abc
星号必须在最后并且只能出现一次
使用像 \*
这样的正则表达式,我得到了所有星号,但我不知道我是如何指定的。我不太擅长正则表达式。
您可以使用
^[^*]*\*$
请注意,它还会匹配 *
字符串。如果必须至少有两个字符,请将 [^*]*
部分替换为 [^*]+
以匹配最终 *
.
之前除 *
之外的一个或多个字符
见regex demo。详情:
^
- 字符串的开头
[^*]*
- *
以外的零个或多个字符,尽可能多(贪婪地)
\*
- 一个 *
字符
$
- 在字符串末尾。
我只想传递这样的字符串:
abc*
123*
abc 123*
abc-123abc*
我不想传递这样的字符串:
- abc**
- abc*123
- *abc
星号必须在最后并且只能出现一次
使用像 \*
这样的正则表达式,我得到了所有星号,但我不知道我是如何指定的。我不太擅长正则表达式。
您可以使用
^[^*]*\*$
请注意,它还会匹配 *
字符串。如果必须至少有两个字符,请将 [^*]*
部分替换为 [^*]+
以匹配最终 *
.
*
之外的一个或多个字符
见regex demo。详情:
^
- 字符串的开头[^*]*
-*
以外的零个或多个字符,尽可能多(贪婪地)\*
- 一个*
字符$
- 在字符串末尾。