Why can be so about Regex.IsMatch with double backslash?

In C #, / is the escape character, character escape sequences as follows
/' Single quote
/" Double quote
// Backslash
/0 null
/a warning
/b backspace
/f new page
/n new line
/r enter
/t horizontal tab
/v vertical tab

string str= "The destination 'c://test.txt' already exists.";
string strP = "The destination 'c://test.txt' already exists.";
Console.WriteLine(str);
Console.WriteLine(strP);
Console.WriteLine("Done");
bool a = Regex.IsMatch(
str,
strP,
RegexOptions.IgnoreCase);
Console.WriteLine(a);
Console.Read();

//value of a is False, so the double backslash will affect the result

string str= "The destination 'c://test.txt' already exists.";
string strP = "The destination 'c://test.txt' already exists.";
Console.WriteLine(str);
Console.WriteLine(strP);
Console.WriteLine("Done");
bool a = Regex.IsMatch(
str,
strP.Replace(@"/", @"//"),
RegexOptions.IgnoreCase);
Console.WriteLine(a);
Console.Read();

//value of a is True,but i don't know why

时间: 2024-07-31 04:12:56

Why can be so about Regex.IsMatch with double backslash?的相关文章

正则表达式Regex类常用方法

1. IsMatch()方法,IsMatch()方法实际上是一个返回Bool值得方法,如果测试字符满足正则表达式返回True否则返回False.例子: //匹配的正则表达式,去掉@不影响效果 Regex r = new Regex(@"^[0-9]"); //开始匹配 Match m = r.Match(this.textBox1.Text); while (m.Success) { MessageBox.Show("首位是数字"); return; } 检测tex

关于regex

问题描述 ProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.ClickResponse.Write(Regex.IsMatch("asss@@@s","[A-Za-z0-9]{4,12}").ToString)EndSub为什么这个返回的结果会是TRUE?"[A-Za-z0-9]{4,12}"是表示允许4-12字符,每个字符为

正则表达式之IsMatch和Match区别

问题描述 1.stringregex=@"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$";!Regex.IsMatch("laszlo-@hotmail.com",regex)2.varr=newRegex(@"^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$");!r.Match("laszlo-@hotmail.com").Success请问各位大神,第一种和第二种的结果一样吗

[工具类]文件或文件夹xx已存在,则重命名为xx(n)(2)

写在前面 最近一直在弄文件传输组件,其中一个功能就是,在接收端接收文件时,如果文件已经存在了,则对其进行文件名+索引的方式进行自动重命名,之前也写个类似的工具类,总感觉代码太冗余,每回头想想,总觉得心里有疙瘩,下班的时候在地铁上,又想了想,感觉是我把问题想复杂了,遂将今天的思路整理一下,写了一个辅助类,记录在此. 上篇文章 [工具类]文件或文件夹xx已存在,则重命名为xx(n) ReNameHelper代码 1 using System; 2 using System.Collections.G

虚拟主机上用Asp.net实现Urlrewrite

在网上看到,很多朋友在ASP.NET中做urlrewrite,用的是HttpHandle+Server.Transfer的方法.其实这种方法是错误的.第一,HttpHandle是实现不了urlrewrite的:第二Server.Transfer是标准的重定向,根本不是urlrewrite. 其实,实现urlrewrite不用自己HttpHandle,也不用自己实现HttpModule,用几行代码就可以轻松实现. 我这里介绍的是在虚拟主机上,虚拟主机不同于自己的服务器,你是没有权限去修改IIS,也

.NET正则表达式中的 Bug

又发现了一个 .net 的 bug!最近在使用正则表达式的时候发现:在忽略大小写的时候,匹配值从 0xff 到 0xffff 之间的所有字符,正则表达式竟然也能匹配两个 ASCII 字符:i(code: 0x69) 和 I(code: 0x49);但是仍然不能匹配其他的 ASCII 字母和数字. 比如以下的代码就是用来测试用正则表达式匹配从 0xff 到 0xffff 的字符.而值范围在 0 到 0xfe 的所有字符是不能被匹配的. 1234567891011121314151617Regex

正则表达式的3种匹配模式

正则表达式是处理字符串的常用工具.在C#中,我们一般使用Regex类来表示一个正则表达式.一般正则表达式引擎支持以下3种匹配模式:单行模式(Singleline).多行模式(Multiline)与忽略大小写(IgnoreCase). 1. 单行模式(Singleline)MSDN定义:更改点 (.) 的含义,使它与每一个字符匹配(而不是与除 \n 之外的每个字符匹配).使用单行模式的典型场景是获取网页源码中的信息.示例:我们使用WebBrowser控件,从http://www.xxx.com/1

Community Server专题八:MemberRole之Membership深入篇

server 专题八的上篇大致讨论了MemberRole中的Membership实现,对于运用Membership进行web开发足够,但是对于想更深入了解Membership实现机理的朋友那是远远不够的,这个专题我们更深入一下了解Membership. 其实MemberRole是一个非常好的资源包,借住Reflector这个优秀的工具,你可以对其进行代码分析.它无论是在组建的构架.代码的设计.数据库表的建立.存储过程的使用等都是非常优秀的,你是程序员也好构架师也罢,其中可以学习的真的很多很多,我

.NET下正则表达式应用的四个示例

示例|正则 1.确认有效电子邮件格式 下面的代码示例使用静态 Regex.IsMatch 方法验证一个字符串是否为有效电子邮件格式.如果字符串包含一个有效的电子邮件地址,则 IsValidEmail 方法返回 true,否则返回 false,但不采取其他任何操作.您可以使用 IsValidEmail,在应用程序将地址存储在数据库中或显示在 ASP.NET 页中之前,筛选出包含无效字符的电子邮件地址. [Visual Basic] Function IsValidEmail(strIn As St