gpt4 book ai didi

c# - 匹配特定公式的正则表达式

转载 作者:行者123 更新时间:2023-11-30 22:58:18 25 4
gpt4 key购买 nike

我是正则表达式的新手。我想知道如何使用正则表达式来替换

001-34/323
To
001/34-323

我有这样的东西

 return Regex.Replace(input, 
"\\b(?<p1>\\d{1,2})/(?<p2>\\d{1,2})/(?<p6>\\d{2,4})\\b",
"${p1}-${p2}-${p3}", RegexOptions.None.

我有这样的东西,但它不起作用,它与我想要的相反

输入全是整数。请让我知道将输入更改为输出的正则表达式谢谢

最佳答案

您当前的正则表达式需要这样的数字:

P1/P2/P3

地点:

  • P1是1-2位数字
  • P2是1-2位数字
  • P3是2-4位数字

为什么它不起作用?您输入的字符串是 001-34/323 ( P1-P2/P3 ) 和 P1 是一个 3 位数字。此外,您的最后一个捕获组称为 <p6> , 不是 <p3> .

正确的字符串应该是:

\b(?<p1>\d{1,3})-(?<p2>\d{1,2})/(?<p3>\d{2,4})\b

或转义形式:

"\\b(?<p1>\\d{1,3})-(?<p2>\\d{1,2})/(?<p3>\\d{2,4})\\b",

您的输出模板也是错误的( P1-P2-P3 ,而不是 P1/P2-P3 )。

最终代码示例:

var input = "001-34/323";
var output = Regex.Replace(input,
"\\b(?<p1>\\d{1,3})-(?<p2>\\d{1,2})/(?<p3>\\d{2,4})\\b",
"${p1}/${p2}-${p3}",
RegexOptions.None);
Console.WriteLine(output);

Try it online

关于c# - 匹配特定公式的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53094438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com