如何编写正则表达式来检查字符串是否包含特殊字符和多个空格

我正在尝试检查一个字符串是否包含^°<>#*~!"§$%?®©¶并使用了这种方法:


string myString = "Test%";

var format = /[^°<>#*~!"§$%?®©¶/g]+/;

let checkIfContains = format.test(myString);

但是当我使用多个单词时,它会失败,因为只有一个空格。删除空格后我还检查了空格和字符串长度,但我需要一个正则表达式或格式来解决这个问题。是否可以在 TypeScript 或 JavaScript 中执行此操作?


斯蒂芬大帝
浏览 230回答 1
1回答

倚天杖

首先,全局修饰符 (/g) 应该放在正则表达式的最后(但如果你只是寻找任何匹配项,那么这里并不重要)。其次,^紧随其后的符号[被视为由 表示的字符集的 NOT 修饰符[],因此在这种情况下,它应该在元字符前面加上\元字符,或者放在其他地方[]。所以找到任何这些字符的正确正则表达式是:&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;regex&nbsp;=&nbsp;/[\^°<>#*~!"§$%?®©¶]+/;正则表达式查找任何这些字符和多个空格有点棘手,因为我们需要在这里处理几种情况:[空格][特殊字符][空格][空格][空格][特殊字符][特殊字符][空格][空格]此外,中间可能还有一些其他字符正则表达式来处理这个:&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;regex&nbsp;=&nbsp;/(\s+.*[\^°<>#*~!"§$%?®©¶]+.*\s+|\s+.*\s+.*[\^°<>#*~!"§$%?®©¶]+|[\^°<>#*~!"§$%?®©¶]+.*\s+.*\s+)/;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript