在正则表达式中组合 2 个条件

我想创建一个正则表达式来检查非 ASCII 字符和一些特殊字符。

 /^[\x00-\x7F]+$/  

 '[^{}$]*'

这些条件单独起作用,但当我将它们组合起来时则不起作用。尝试过

/^([\x00-\x7F]|[^{}$]*)$/   but failing.

任何帮助将非常感激。提前致谢。


Cats萌萌
浏览 195回答 2
2回答

回首忆惘然

^[\x00-\x7F]+$- 匹配完全由 ASCII 字符组成的字符串。[^{}$]* 匹配零个或多个不同于{,}和 的字符$。因此,第二条规则匹配任何字符串。如果这是您的意图,只需使用第一个正则表达式。如果您想匹配任何纯 ASCII 字符串(不包括 ){,}并$使用^(?=[\x00-\x7F]+$)[^{}$]*$解释--------------------------------------------------------------------------------  ^                        the beginning of the string--------------------------------------------------------------------------------  (?=                      look ahead to see if there is:--------------------------------------------------------------------------------    [\x00-\x7F]+             any character of: '\x00' to '\x7F' (1 or                             more times (matching the most amount                             possible))--------------------------------------------------------------------------------    $                        before an optional \n, and the end of                             the string--------------------------------------------------------------------------------  )                        end of look-ahead--------------------------------------------------------------------------------  [^{}$]*                  any character except: '{', '}', '$' (0 or                           more times (matching the most amount                           possible))--------------------------------------------------------------------------------  $                        before an optional \n, and the end of the                           string

守着星空守着你

看起来你的正则表达式的这一部分有问题[\x00-\x7F]。我已经尝试过以下方法并且有效。^([[:ascii:]]+$|[^{}$]*)$
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript