C# 使用正则表达式获取格式ABC-XXX-XXX
我的数据如下C# 使用正则表达式获取格式ABC-XXX-XXX,c#,regex,pattern-matching,C#,Regex,Pattern Matching,我的数据如下 CVE-2011-0573, CVE-2011-0606, (CVE-2011-0565) CVE-2011-0598, CVE-2011-0593. ((CVE-2011-0593.) 我只需要获取格式“ABC-XXX-XXX”。我使用的这个gex模式是“[A-Z]{3}-[0-9]{4}-[0-9]{3,10}” 另外还有一个用C写的方法# 所以如果我现在运行这个代码,对于“CVE-2011-0573,”它返回“,”而不是“CVE-2011-0573” 你能帮我修改一下C代码
CVE-2011-0573,
CVE-2011-0606,
(CVE-2011-0565)
CVE-2011-0598,
CVE-2011-0593.
((CVE-2011-0593.)
我只需要获取格式“ABC-XXX-XXX
”。我使用的这个gex模式是“[A-Z]{3}-[0-9]{4}-[0-9]{3,10}
”
另外还有一个用C写的方法#
所以如果我现在运行这个代码,对于“CVE-2011-0573,
”它返回“,
”而不是“CVE-2011-0573
”
你能帮我修改一下C代码,让它按照“CVE-2011-0573”的方式工作吗
非常感谢 使用objRegExp.Match(消息)
获取匹配项
或者在你的例子中:
string output = "";
var matches = objRegExp.Matches(message);
foreach (var match in matches)
{
output+=match;
}
return output;
处理多个匹配项。使用objRegExp.Match(消息)
获取匹配项
或者在你的例子中:
string output = "";
var matches = objRegExp.Matches(message);
foreach (var match in matches)
{
output+=match;
}
return output;
处理多个匹配项。使用此功能:
public String RemoveChars(String message)
{
// The pattern for an expression
String charPattern = @"[A-Z]{3}-\d{4}-\d{4}";
// Create a regex object with the pattern
message = Regex.Match(message, charPattern).Value;
// Return the message without unwanted chars
return message;
}
此外,如果需要多个匹配项,请使用Regex.matches
使用此功能:
public String RemoveChars(String message)
{
// The pattern for an expression
String charPattern = @"[A-Z]{3}-\d{4}-\d{4}";
// Create a regex object with the pattern
message = Regex.Match(message, charPattern).Value;
// Return the message without unwanted chars
return message;
}
此外,如果需要多个匹配项,请根据以下说明使用Regex.matches
:
这应该起作用:
String charPattern ="[.,()]"
据此:
这应该起作用:
String charPattern ="[.,()]"
你为什么认为它会退回其他东西?您正在使用
Replace
方法删除消息中所有出现的正则表达式模式。显然,您正在用空字符串替换与消息匹配的位。你认为那会怎样?我怀疑您只是想将消息与您的正则表达式匹配,并返回匹配值…@Tarec-我不会,我知道这一点。这就是为什么我需要建议我应该在这里使用什么方法,这样它才能以正确的方式工作。我不是C程序员。@Dnac,您要求的是ABC-XXX-XXX
,但这样会导致数据丢失,因为数据的格式是ABC-XXXX-XXXX
@Dnac请记住,C
!=C#
。你为什么认为它会返回其他东西?您正在使用Replace
方法删除消息中所有出现的正则表达式模式。显然,您正在用空字符串替换与消息匹配的位。你认为那会怎样?我怀疑您只是想将消息与您的正则表达式匹配,并返回匹配值…@Tarec-我不会,我知道这一点。这就是为什么我需要建议我应该在这里使用什么方法,这样它才能以正确的方式工作。我不是C程序员。@Dnac,您要求的是ABC-XXX-XXX
,但这样会导致数据丢失,因为数据的格式是ABC-XXXX-XXXX
@Dnac请记住,C
!=<代码>C#。很好,这似乎工作得很好。非常感谢。我刚刚用我的正则表达式替换了你的正则表达式,因为数字可能会有所不同。我想它不会引起任何问题。很好,这似乎工作得很好。非常感谢。我刚刚用我的正则表达式替换了你的正则表达式,因为数字可能会有所不同。我想这不会引起任何问题。