C#中的正则表达式表达'.'和'\'

C#中的正则表达式表达'.'和'\'

正则表达式


1. 正则中'.'的转义

如果要表达字符串中的'.',在正则表达式中表达为"\.",因为'.'在正则表达式中是元字符,需要'\'进行转义,那么在C#中就是"\\.",第一个'\'是C#用来转义'\'的,转义过后C#交给Regex类的就是'\.',然后再由Regex类进行转义,来匹配'.',当然也可以使用C#中的@取消C#转义.C#中用Regex.IsMatch("要匹配的字符","正则表达式")来匹配.  C#中代码如下:

using System;
using System.Text.RegularExpressions;

namespace 正则表达式
{
 class Program
 {
 static void Main(string[] args)
 {
 Console.WriteLine(
 Regex.IsMatch(".",@"\.")+" \n"+ //用@取消C#对'\'的转义,交给Regex.IsMatch来进行正则转义
 Regex.IsMatch(".","\\.")+" \n"+ //第一个'\'用来转义第二个'\',成为'\.',交给Regex.IsMatch来进行正则转义
 Regex.IsMatch("\\","\\\\")
 );

 Console.ReadKey();
 }
 }
}

2 正则中'\'的转义

同'.'一样,'\'即需在C#中转义,也需要在正则中转义,比'.'更具迷惑性的是,C#中用'\'作为转义标志.  用@取消C#中的转义,那么在C#中就是Regex.IsMatch(@"\",@"\\"),这里的"\\"是正则用来转义的,转义过后就是'\',用来匹配字符串"\".  那么代码如下:

using System;
using System.Text.RegularExpressions;

namespace 正则表达式
{
 class Program
 {
 static void Main(string[] args)
 {
 Console.WriteLine(
 Regex.IsMatch(@"\",@"\\") +"\n"+  
               Regex.IsMatch("\\",@"\\") +"\n"+  
               //第一个"\\"是C#转义用来表达要匹配的字符串"\",第二个用@取消了C#的转义,用"\\"来对应正则表达式的转义
 Regex.IsMatch("\\","\\\\") 
 );

 Console.ReadKey();
 }
 }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏十月梦想

mysql数据类型

mysql数据的数据类型,指定了字段的类型,不符合指定的字段类型,传入的值则会提示错误;

9440
来自专栏杨建荣的学习笔记

MySQL数据类型(r3笔记第87天)

今天在本地装了一个MySQL的学习环境,简单的熟悉了一下。准备开始好好学习MySQL了。 学习编程语言我都是从数据类型入手。每种编程语言的数据类型都有自己的特点...

301100
来自专栏GreenLeaves

关于null的操作

空值     空值一般用NULL表示     一般表示未知的、不确定的值,也不是空格     一般运算符与其进行运算时,都会为空     空不与任何值相等   ...

21970
来自专栏Python

SQLAlchemy中的自引用

SQLALCHEMY采用adjacency list pattern来表示类的自引用。 例如,对于类Node自引用: class Node(Base): ...

40450
来自专栏猿人谷

Mysql字符串截取总结:left()、right()、substring()、substring_index()

在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处...

34700
来自专栏java小白

MySQL WHERE子句内使用正则表达式搜索

18550
来自专栏乐沙弥的世界

PL/SQL 集合的初始化与赋值

    对于集合类型,与单一的数据类型相比较而言,应该以一个整体的观念来考虑集合,即是一批类型相同的数据组合而非单一的数据。因此集 合类型集合的声明、赋值、初...

13250
来自专栏猿说1024

Java 单例模式

10450
来自专栏猿人谷

Mysql字符串截取总结:left()、right()、substring()、substring_index()

在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理...

29750
来自专栏GreenLeaves

oracle 中关于null的操作

空值     空值一般用NULL表示     一般表示未知的、不确定的值,也不是空格     一般运算符与其进行运算时,都会为空     空不与任何值相等   ...

19280

扫码关注云+社区

领取腾讯云代金券