现在已经好几个小时了,似乎无法让这个看似简单的正则表达式工作。我成功排除了使用^[^']+$
或[^']
的单个字符并成功使用[\\S]
的所有空格,但我无法弄清楚如何将它们组合在一个表达式中。
我尝试了很多不同的组合:
^(?=[^'])[\\S]$
[\\S-[']]
规则很简单 - 不能是所有空格,也不能包含撇号。任何人都可以帮助我吗?
答案 0 :(得分:2)
如果您需要测试所有空格或撇号,那么您可以使用以下内容:
if (/'|^\s+$/.test(str)) {
// is invalid
}
答案 1 :(得分:1)
我认为这样可以解决问题:
if (/'|^[ ]+$/.exec(str)) {
// invalid...
}
答案 2 :(得分:1)
如果整个字符串是白色的,或者有撇号的任何实例,则以下情况属实。
if (/^\s+$|'/.test(s)) {
// is invalid
}
正则表达式之间有一个交替
^\s+$
:
^
:字符串开始\s
:空格(1次或更多次)$
:字符串结尾'
:撇号字符如果这两个序列中的任何一个匹配,那么该字符串无效。