C# 如何将正则表达式与特殊字符“匹配”;,(C)#
我在读取文件后生成了以下字符串 “神经计算的方法是获取大脑解决这些问题的指导原则,并将其应用于计算机系统。”(:14)“1.2大脑的结构”(:16)“大脑处于较低水平。它包含大约一万(10)”的信息基本单位,称为神经元。这些神经元中的每一个都与大约一万(lo4)个其他神经元相连。”(:16) 我要匹配的模式如下:C# 如何将正则表达式与特殊字符“匹配”;,(C)#,c#,regex,C#,Regex,我在读取文件后生成了以下字符串 “神经计算的方法是获取大脑解决这些问题的指导原则,并将其应用于计算机系统。”(:14)“1.2大脑的结构”(:16)“大脑处于较低水平。它包含大约一万(10)”的信息基本单位,称为神经元。这些神经元中的每一个都与大约一万(lo4)个其他神经元相连。”(:16) 我要匹配的模式如下:“string”(:digit+) 其产出将是: 神经计算的方法是获取大脑解决这些问题的指导原则,并将其应用于计算机系统。 1.2大脑结构 大脑处于低水平。它包含大约一万(10”)个基本
“string”(:digit+)
其产出将是:
神经计算的方法是获取大脑解决这些问题的指导原则,并将其应用于计算机系统。1.2大脑结构
大脑处于低水平。它包含大约一万(10”)个基本单位,称为神经元。这些神经元中的每一个都与大约一万(lo4)个其他神经元相连 我不熟悉正则表达式。我用过
var reg = new Regex("\".*?\"");
它可以在双引号内匹配内容,但如何匹配模式的其余部分?它有助于将其分解为您希望正则表达式执行的操作。因为您希望捕获不同的组,所以可以将它们括在括号中: 您想在以下方面进行匹配: 引用
后跟任何非引用的内容,一次或多次;将其作为一个组捕获
后跟一个引号
后跟括号
后跟冒号
后跟一个数字,一次或多次
后跟括号
string reg = "\"([^\"]+)\" \\( :\\d+ \\)"
这有助于将其分解为您希望正则表达式执行的操作。因为您希望捕获不同的组,所以可以将它们括在括号中: 您想在以下方面进行匹配: 引用
后跟任何非引用的内容,一次或多次;将其作为一个组捕获
后跟一个引号
后跟括号
后跟冒号
后跟一个数字,一次或多次
后跟括号
string reg = "\"([^\"]+)\" \\( :\\d+ \\)"
如果我理解正确,您需要检测所有(:位) 您可以在这里尝试:
如果我理解正确,您需要检测所有(:位) 您可以在这里尝试:
@允许在字符串中加引号。因此您可以使用
在正则表达式搜索模式中。
var st=@“1.2大脑的结构”(:15));
列表结果=新列表
(Regex.Matches(st,@“”“\d+\。\d+[\w\s]+”“\s+\(:\d+\))
.Cast()
.选择(x=>x.Value)
.ToList());
//“1.2大脑的结构”(:15)
“\d+\.\d+[\w\s]+”=>“1.2大脑结构”
\s+\(:\d+\)===>(:15)
@允许在字符串中加引号。所以你可以用这个
在正则表达式搜索模式中。
var st=@“1.2大脑的结构”(:15));
列表结果=新列表
(Regex.Matches(st,@“”“\d+\。\d+[\w\s]+”“\s+\(:\d+\))
.Cast()
.选择(x=>x.Value)
.ToList());
//“1.2大脑的结构”(:15)
“\d+\.\d+[\w\s]+”=>“1.2大脑结构”
\s+\(:\d+\)===>(:15)
在匹配文本时,将反斜杠放在每个特殊字符之前以转义。在匹配文本时,将反斜杠放在每个特殊字符之前以转义。
@ allows putting quotes in a string. So you can use this
in regex search pattern.
var st = @" ""1.2 THE STRUCTURE OF THE BRAIN"" (:15) )";
List<string> result = new List<string>
(Regex.Matches(st, @" ""\d+\.\d+[\w\s]+""\s+\(:\d+\)")
.Cast<Match>()
.Select(x => x.Value)
.ToList());
// "1.2 THE STRUCTURE OF THE BRAIN" (:15)
""\d+\.\d+[\w\s]+"" ===> "1.2 THE STRUCTURE OF THE BRAIN"
\s+\(:\d+\) ===> (:15)