【发布时间】:2017-08-08 17:00:41
【问题描述】:
我正在尝试制作一个程序,用户可以在其中输入一系列序列号并显示每个相应的产品。
假设我知道产品 A 总是以“C02”开头,产品 B 总是以“X02”结尾,而产品 C 总是包含“A1700”。那么如果用户输入的是“C02HGV32,N93XA1700D,J3429X02”,则返回“C02HGV32:产品A;N93XA1700D:产品C;J3429X02:产品B”。
如何获得一组正则表达式来与字符串数组进行比较?这是我所拥有的:
using System.Text.RegularExpressions;
public class ReturnProduct{
public Regex[] compareAgainst = new Regex[3]{@"[C02]*",@"*[X02]",@"*[A1700]*"}; //Clearly not the right way, but not sure how else to do it
...
public string getTheProduct(string input){
string[] compareString = input.Split(",");
for (int a = 0; a < compareString.Length; a++){
for (int b = 0; b < compareAgainst.Length; b++){
//Do something Regex-y with compareString[a] and compareAgainst[b]
}
}
【问题讨论】:
-
您是否要求正确的正则表达式语法?或者如何检查字符串是否匹配正则表达式?
-
我正在询问正则表达式数组的正确语法,以及如何根据每个正则表达式数组值检查每个字符串值 - 抱歉,不清楚。
-
我没有投反对票,但“这到底是如何工作的?”不是一个明确的问题。我不会认为您因“试图尽可能多地解释”而被否决。
-
我想我应该为此使用分号 - “这到底是如何工作的?”与上一句有关。烂英文。我现在已经更新了。