Skip to main content
 首页 » 编程设计

c#之在 C# 中需要有关正则表达式和模式匹配的帮助吗

2024年01月29日23daizhj

我正在做一个简单的模式匹配和替换练习,需要一些帮助吗?

我需要匹配给定上下文中任何字符串中的以下两个字符串,并且预计这两个模式都存在于给定提供的字符串中。

1)“宽度=000”或“宽度=00”或“宽度=0”

2) "drop=000"或 "drop=00"或 "drop=0"

每个案例的值可以是 0-9 之间的任何值,因此“000”-->“999”可以是提供的测试中的有效测试用例。

string url = Regex.Replace(inputString, patternString, replacementValueString); 

谢谢,

请您参考如下方法:

查看此页面以解释各个元素:http://msdn.microsoft.com/en-us/library/az24scfc.aspx

像这样的正则表达式字符串应该很好用:

"\b(?:width|drop)\s*=\s*\d{1,3}\b" 

读取代码中的名称和值:

"\b(?<name>width|drop)\s*=\s*(?<value>\d{1,3})\b" 

如果您不需要将数字限制为只有 3 位数字,您可以使用“\d+”而不是“\d{1,3}”。

开头的“\b”将确保您不会得到属于某个较大单词一部分的“width”或“drop”。末尾的“\b”将阻止您匹配大于 999 的数字。

equals 语句两边的“\s*”允许“drop = 000”和“drop=000”。