/转义字符:
构成:\ + 特定的普通字符
作用:把转义符\后面的普通字符转义为具有特殊含义的字符,如 "\n" 代表换行.
取消转义:“\\” 字符( \ + \ ) ,把转义字符 \ 转义为普通的字符 \,让\失去转义字符的作用。
正则表达式元字符中若含有\,所以用\\表示是元字符自己的含义,而不是转义字符.
比如,\d表示数字,在正则表达式中,应写\\d.
如果要表达元字符本身的字符含义,则在元字符前面加上\\即可;或者在正则表达式前加取消转义符号@,然后元字符前只需要加1个\,即可实现元字符本身的字符含义
比如在正则表达式中"."代表匹配非终止符的元字符,前面加一个\\,表示.本身,如下示例检查IP地址格式:
string pat = "^([0-9]{1,3}\\.){3}[0-9]{1,3}$";
bl = Regex.IsMatch("192.168.1.3", pat);
或者正则表达式前加@,取消正则表达式中的转义字符作用,这样在元字符前只需要加一个\就可以表示其字符本来含义了,如下例子:
pat = @"^(\d{1,3}\.){3}\d{1,3}$"; //加了@,转义就不起作用了,\表示其本意
bl = Regex.IsMatch("1.1.2.3", pat);
正则表达式由普通字符和特殊字符(又称元字符)组成的文字模式,正则表达式是一个模板
常用元符号示例:^ . \ *+ ? { 、} ( 、 ) [ 、 ] | $...
这些元符号都有其特殊含义,如果要表示其本来字符的含义,需要在元符号前加上"\\"来表示
如,“^\\+?[1-9] [0-9]*$”,匹配正号或没有正号开头,含有0个或n个数字的字符串:
+是元字符,这里需要表示+的本身含义,所以用\\+表示其字符本身含义;
\\+?匹配正号0次或1次,1-9] [0-9]*匹配0-9数字0次或n次