C# 正则表达式.Net:在捕获组中尖括号是什么意思?
0-9数字的零或多个匹配项,后跟一个或多个9,后跟点后的2个可选数字 我不明白,价格1,价格2,价格3是什么意思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是正则表达式的作者给括
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);