我在 PHP 中有以下代码:
if (preg_match('@^[a-z0-9/._-]+$@i', $script)
&& !preg_match('@([.][.])|([.]/)|(//)@', $script))
我假设
if
的谓词语句为字符串 js/core.js
返回 true .我将如何将其翻译成 C#?哑译如下:
if(Regex.IsMatch(script,"@^[a-z0-9/._-]+$@i")
&& !Regex.IsMatch(script,"@([.][.])|([.]/)|(//)@"))
但我怀疑
@
符号具有与之相关的含义,我无法深入了解。转换为 .NET regex 会很好,但我完全熟悉 .NET regex,因此对相关语法差异的解释就足够了。非常感谢。
最佳答案
@
s 只是分隔符。在 .NET 中不需要它们
if(Regex.IsMatch(script,"^[a-z0-9/._-]+$", RegexOptions.IgnoreCase)
&& !Regex.IsMatch(script,"([.][.])|([.]/)|(//)"))
关于c# - preg_match 到 .NET 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3363667/