我对正则表达式没有经验。我需要一个不允许重复特殊字符的正则表达式(+ - */&等) 该字符串可以包含数字,字母数字和特殊字符。正则表达式 - 如何防止重复的特殊字符?
这应该是有效的:ABC,DF
这应该是无效的:ABC-,DF
,我将非常感激,如果你能帮帮我!感谢您的提前。
我对正则表达式没有经验。我需要一个不允许重复特殊字符的正则表达式(+ - */&等) 该字符串可以包含数字,字母数字和特殊字符。正则表达式 - 如何防止重复的特殊字符?
这应该是有效的:ABC,DF
这应该是无效的:ABC-,DF
,我将非常感激,如果你能帮帮我!感谢您的提前。
两个方案至今匹配字符串,它是不不允许的。
但tilte是如何防止...,所以我认为正则表达式 应该匹配允许字符串。这意味着,正则表达式应该:
你可以做到这一点放在一起以下几个部分:
^
- 字符串锚开始,(?!.*[...]{2})
- 连续2个特殊 字符负先行(这里标记为...
),在任何地方,$
- 字符串定位结束。所以整个正则表达式应该是:
^(?!.*[[email protected]#$%^&*()\-_+={}[\]|\\;:'",<.>\/?]{2}).+$
注意,一个字符类中(间[
和]
)逃逸以下字符反斜杠 应该-
前放置(如果 中间的顺序),结束方括号, 反斜杠本身和/
(正则表达式终止符)。
或者,如果你想在正则表达式适用于单个单词(不是整个 字符串),那么正则表达式应该是:
\b(?!\S*[[email protected]#$%^&*()\-_+={}[\]|\\;:'",<.>\/?]{2})\S+
它工作的很棒,你救了我的一天。真的很感激,谢谢! – asyaben
[\,\+\-\*\/\&]{2,}
如果需要,可在方括号中添加更多字符。
演示https://regex101.com/r/CBrldL/2
使用以下正则表达式来匹配无效字符串。提出
[^A-Za-z0-9]{2,}
还有什么你认为一个特殊字符? '-'和','对我来说同样是'特殊的' – Brandon