Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式.Net:在捕获组中尖括号是什么意思?_C#_Regex - Fatal编程技术网

C# 正则表达式.Net:在捕获组中尖括号是什么意思?

C# 正则表达式.Net:在捕获组中尖括号是什么意思?,c#,regex,C#,Regex,0-9数字的零或多个匹配项,后跟一个或多个9,后跟点后的2个可选数字 我不明白,价格1,价格2,价格3是什么意思 SearchPattern = (?<price1>[0-9]+)(?<price2>[9]?)+(.)(?<price3>[9]{2}) 什么点 。将匹配任何字符,而不仅仅是 你可能想要\ 编辑:您对2个可选数字的检查也不正确。你必须更详细地解释你在寻找什么,以便任何人提出解决方案。price1、price2和price3是正则表达式的作者给括

0-9数字的零或多个匹配项,后跟一个或多个9,后跟点后的2个可选数字

我不明白,价格1,价格2,价格3是什么意思

SearchPattern = (?<price1>[0-9]+)(?<price2>[9]?)+(.)(?<price3>[9]{2})
什么点

。将匹配任何字符,而不仅仅是

你可能想要\

编辑:您对2个可选数字的检查也不正确。你必须更详细地解释你在寻找什么,以便任何人提出解决方案。

price1、price2和price3是正则表达式的作者给括号中的组指定的名称

例如,在?[0-9]+中,正则表达式引擎将捕获一个或多个数字,并将字符串放入名为price1的组中

圆括号将正则表达式分组在它们之间。它们捕获与内部正则表达式匹配的文本,这些文本可以通过尖括号之间的名称引用。名称可以由字母和数字组成

是的。允许您在替换文本或检索实际匹配文本时按名称引用捕获组

例如:

ReplacementPattern = (?<price1>[0-9]+)(?<price2>[0-9]{1})+(.)(?<price3>[0-9]{2}) 
Replacement String = ${price1}9

这将打印价格1=349。

您想做什么?您的问题是什么?请不要创建新帐户来发布几乎重复的内容。正如我在上所告诉你的,不要使用正则表达式。仅供参考,OP确实使用了\,但是反斜杠在其中一次编辑中丢失了。
var match = Regex.Match("349.99", "(?<price1>[0-9]+)(?<price2>[9]?)+(.)(?<price3>[9]{2})");
Console.WriteLine("price1 = {0}", match.Groups["price1"].Value);