这次很简单的问题。
我正在尝试使用正则表达式测试字符串是否不包含字符。我认为表达式的形式是“[^ x ]”,其中x是您不想出现的字符,但这似乎不起作用。
例如,
Regex.IsMatch("103","[^0]")
和
Regex.IsMatch("103&","[^&]")
两者都返回真(我希望假)。
我开始使用"[^&]"
并认为可能需要将 & 转义为 \&,但这似乎没有什么不同。
想法?我认为这是一件小事。
另外,我使用的是 .NET,所以请记住这一点。
编辑1:
我找到了这个,但它似乎没有回答我遇到的问题。
编辑2:
我想回应Kevin和Joel的建议。这些建议确实会更快,但在这种情况下它们并没有实现我需要的灵活性,所以如果你通过搜索找到了这个问题,一定要看看他们的答案是否符合你的需求。在我的例子中,正则表达式被传递给 DataTable 验证方法,该方法循环遍历每一行并验证特定列中该行的内容是否与传入的 RegEx 匹配。因为我将重用这个方法对于正在验证的其他几个数据表,我想:
- 使用 Regex 启用最广泛的验证,以及
- 始终寻找正匹配(即,而不是使用 !Regex.IsMatch(cell, regexvariable),我希望始终能够使用 Regex.IsMatch(cell, regexvariable),因为大多数调用此方法的 DataTables 将使用正匹配而不是负匹配。
希望这会有所帮助。