繁体   English   中英

正则表达式用于捕获任何普通字符+数字+空格,但不能捕获其他任何特殊字符

[英]Regexp for catch any normal characters+numbers+space but no any other special character

所以我需要一个可以捕获的正则表达式:

  • 普通字符
  • 数字
  • -
  • 任何空间

我已经试过/[a-z0-9\\-]*/g但是在https://regex101.com/r/Vpc7UX/1/上运行时几乎完美(无法识别空格),但是当我在javascript中使用以下命令时,完全无法工作:

(/[a-z0-9\\-]*/gi).test(text)

虽然简单的(/[^a-z0-9]/gi).test(text) a (/[^a-z0-9]/gi).test(text) (仅接受字符和数字,没有空格,没有- )可以正常工作,所以我猜想regexp是错误的。

我希望它适用于:

  • “你好,世界”
  • “你好,世界”
  • “你好,世界”
  • “你好,世界”

但不适用于:

  • “你好,世界”
  • “你好,世界”
  • “你好,世界”

对regexp + javascript问题有帮助吗? 我做错了什么?

非常感谢。

使用锚点并添加空格:

(/^[a-z0-9\s-]*$/gi).test(text)
  ^_______^^___^

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM