javascript - 为什么这个正则表达式匹配不正确的字符?

标签 javascript .net regex

我需要匹配这些字符。此引用来自 API 文档(我们公司外部):

Valid characters: 0-9 A-Z a-z & # - . , ( ) / : ; ' @ "

我使用这个 Regex 来匹配字符:

^[0-9a-z&#-\.,()/:;'""@]*$

但是,这会错误地匹配 %$ 和许多其他字符。怎么了?

您可以使用 http://regexhero.net/tester/ 在线测试此正则表达式, 这个正则表达式适用于 .NET 和 JavaScript。

最佳答案

您没有转义破折号 -,这是一个保留字符。如果您添加用 \- 替换破折号,则正则表达式不再匹配 #\ 之间的那些字符/p>

关于javascript - 为什么这个正则表达式匹配不正确的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7697087/

相关文章:

javascript - Node js mysql 语法错误

javascript - 使用 JQuery 迭代深层 XML 结构 - IE9

android - 选择字符串中的前 X 位数字并将每个数字替换为 Character

regex - CMake:如何在 Regexp 替换中获取反斜杠文字?

javascript - 在 chrome 扩展中调整 popup.html 的大小

javascript - 将属性指令传递给元素指令

c# - 如何在 C# 中处理多个并发交互的实体

c# - 为什么关闭使用 AllocConsole 启动的控制台会导致我的整个应用程序退出?我可以改变这种行为吗?

C# : How to check a DataRow against a String

javascript - 如何在此正则表达式中包含 - 和 '?