我在与RegEx进行检查时遇到问题,试图匹配以下内容:
- 字母:大写或小写
- 数字:0-9
- 一些特殊字符:@#$&((*^'_-
- 字符之间的单个空白
- 不为空或仅为空白
- 没有前导或尾随空格
几个例子:
- 确定:"abc">
- 好的:"ABC">
- OK:"123">
- OK:"@#$">
- 确定:"acbBC123@#$">
- 好:"abc abc 123@#$">
- 不正常:">
- 不正常:">
- 不正常:"abcABC%%+123@#$">
- 不好:"abc abc 123@#$">
为了适应所有这些条件,什么是正确的RegEx?
我假设封闭的"引号"标记实际上并不包括在字符串中。这是你想要的吗?
^[A-Za-z0-9@#$&)(*^'!_-]+(?: [A-Za-z0-9@#$&)(*^'!_-]+)*$
基本上,它是说"开头允许的任何字符,后面是一个或多个可选的字符块,前面有一个空格。"这允许在"单词"之间有一个空白,并且必须以非空白字符开头和结尾。
在此处测试