preg_match到.NET等价

spe*_*der 0 .net php c# regex

我在PHP中有以下代码:

    if (preg_match('@^[a-z0-9/._-]+$@i', $script)
      && !preg_match('@([.][.])|([.]/)|(//)@', $script))
Run Code Online (Sandbox Code Playgroud)

我假设if语句的谓词对字符串返回true js/core.js.

我如何将其转换为C#?愚蠢的翻译如下:

if(Regex.IsMatch(script,"@^[a-z0-9/._-]+$@i")
   && !Regex.IsMatch(script,"@([.][.])|([.]/)|(//)@"))
Run Code Online (Sandbox Code Playgroud)

但我怀疑这个@符号有与之相关的含义,我无法深究.对.NET正则表达式的翻译会很好,但我完全熟悉.NET正则表达式,因此对相关语法差异的解释就足够了.

非常感谢.

ken*_*ytm 5

@s为只是分隔符.你在.NET中不需要它们

if(Regex.IsMatch(script,"^[a-z0-9/._-]+$", RegexOptions.IgnoreCase)
   && !Regex.IsMatch(script,"([.][.])|([.]/)|(//)"))
Run Code Online (Sandbox Code Playgroud)