我的理解是,Regex.Escape通过自动将包含正则表达式元字符的模式转换为该模式的"转义"版本来帮助生成正则表达式模式.
因此,如果您只想匹配abc.abc
,则不能将其用作模式,因为句点(或点)是一个正则表达式元字符,恰好是通配符.Regex.Escape可以方便地将其转换为abc\.abc
,它可以用作不使用点作为通配符的正则表达式模式.
Regex.Escape"转义"14个字符...
转义最小字符集(,*,+,?,|,{,[,(,),^,$, .、#和空格),用它们的转义代码替换它们.
然而,似乎只有12个字符与自己不匹配.除了这do个字符之外,其他字符都与其自身匹配.
...$^{[(|)*+?\
This is the link to the reference that says there are 12 chars that do not match themselves.个
做出这一声明的确切措辞是...
字符或序列列中列出的字符以外的字符 在正则表达式中没有特殊意义;它们自身匹配.
不同之处在于Regex.Escape文档中提到的最后两个字符是空格和数字符号.为什么Regex.Escape支持的字符多于12个与自身不匹配的字符?