📜  正则表达式 c# 的转义字符(1)

📅  最后修改于: 2023-12-03 15:10:57.784000             🧑  作者: Mango

正则表达式 C# 的转义字符

正则表达式是用于匹配文本中模式的方法。在 C# 中,正则表达式可以通过 System.Text.RegularExpressions 命名空间中的类来实现。

在使用正则表达式时,有一些特殊字符被用于表示特定的含义,而这些字符本身也需要被匹配时需要进行转义。下面是一些常用的正则表达式 C# 转义字符:

| 转义字符 | 描述 | | --- | --- | | \ | 转义字符,用于将下一个字符标记为特殊字符,或者将一个特殊字符标记为普通字符。例如,"\n" 匹配一个换行符,而 "\" 匹配一个反斜杠字符。 | | ^ | 匹配输入字符串的开始位置。例如,"^The" 只匹配以 "The" 开始的字符串。 | | $ | 匹配输入字符串的结尾位置。例如,"end$" 只匹配以 "end" 结尾的字符串。 | | . | 匹配除换行符外的任意一个字符。例如,"a.b" 可以匹配 "aab"、"acb"、"a1b" 等。 | | * | 匹配前面的元素零次或多次。例如,"ba*" 可以匹配 "b"、"ba"、"baa"、"baaa" 等。 | | + | 匹配前面的元素一次或多次。例如,"ba+" 可以匹配 "ba"、"baa"、"baaa" 等。 | | ? | 匹配前面的元素零次或一次。例如,"ba?" 可以匹配 "b" 或 "ba"。 | | {n} | 匹配前面的元素恰好 n 次。例如,"ba{2}" 可以匹配 "baa"。 | | {n,} | 匹配前面的元素至少 n 次。例如,"ba{2,}" 可以匹配 "baa"、"baaa"、"baaaa" 等。 | | {n,m} | 匹配前面的元素至少 n 次,但不超过 m 次。例如,"ba{2,4}" 可以匹配 "baa"、"baaa"、"baaaa",但不能匹配 "ba" 或 "baaaaa"。 | | [] | 匹配字符集中的任意一个字符。例如,"[abc]" 可以匹配 "a"、"b" 或 "c"。 | | [^] | 匹配不在字符集中的任意一个字符。例如,"[^abc]" 可以匹配除 "a"、"b"、"c" 以外的任意字符。 | | | | 匹配管道符左右的任意一个表达式。例如,"a|b" 可以匹配 "a" 或 "b"。 | | () | 捕获匹配的子串,并将它们存储在一个有序集合中。例如,"(ba)+" 可以匹配 "ba" 或 "bababa" 等,且捕获的子串为 "ba"。 |

需要注意的是,在 C# 字符串中,“\”也是转义字符,因此在表示正则表达式转义字符时需要使用两个反斜杠,例如:"\"、"|"、"\d" 等。

以下为示例代码片段:

// 判断是否匹配正则表达式
using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string input = "The quick brown fox jumps over the lazy dog.";
        string pattern = @"q[a-z]*";
        Regex regex = new Regex(pattern);

        if (regex.IsMatch(input))
        {
            Console.WriteLine("Match found.");
        }
        else
        {
            Console.WriteLine("Match not found.");
        }
    }
}