我正在做一个简单的模式匹配和替换练习,需要一些帮助吗?
我需要匹配给定上下文中任何字符串中的以下两个字符串,并且预计这两个模式都存在于给定提供的字符串中。
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”。
