我想验证一个输入字段的正则表达式。
这个问题是这个问题的延续,但我犯了一个错误,所以问题有些改变,因此我创建了一个新的问题。
这是我的java正则表达式:
^(?:\?*[a-zA-Z\d]){2}[a-zA-Z\d?]*\*?$
我试图匹配的模式是:
- 至少2个字母数字字符(不包括“?”和“*”)
- “*”只能出现一次,并且在字符串末尾
- “?”可以多次出现
- 不能以空格开头
- “?”或“*”前后不能有空格
例如:
- abcd = 符合条件
- ?bcd = 符合条件
- ab?? = 符合条件
- ab*= 符合条件
- ab?* = 符合条件
- ??cd = 符合条件
- ab cd = 符合条件
- *ab = 不符合条件
- a ? b = 不符合条件
- ??? = 不符合条件
- ab? cd = 不符合条件
- ab ?d = 不符合条件
- ab * = 不符合条件
- abcd = 不符合条件(开头有空格)
正如我在第一个问题中提到的,我的正则表达式现在不允许任何空格,但这不是我想要的,我有点迷失了,请你帮帮我好吗?
a b
(中间有空格)可以吗?a?b
(没有空格)可以吗? - Ole V.V.