在C#中使用正则表达式来提取各种模式组合

时间:2015-01-07 01:36:11

标签: c# .net regex pattern-matching

我正在尝试使用regex.match从给定字符串中提取各种模式。我有3个模式,我必须分别匹配和提取。

第一个模式:以一串字母开头,然后是数字

第二个模式:从一串字母开始,然后是数字,然后是一串字母

第3个模式:以数字开头,然后是一串字母

我试过用:

Regex.Match(inputData,@“^(\ w +)(\ d +)$”)//第一个模式

Regex.Match(inputData,@“^(\ w +)(\ d +)(\ w +)$”)//第二个模式

Regex.Match(inputData,@“^(\ d +)(\ w +)$”)//第3个模式

然而,我已经意识到如果提供的字符串无效,'w'可以引用数字或字母(这会给我误报结果)。我非常感谢有关修复模式匹配的一些帮助。

由于

2 个答案:

答案 0 :(得分:0)

(\w+)替换为您的模式中的以下内容:

([a-zA-Z]+)

这将仅包括标准字母,而不包括数字。请注意,如果您的要求还包括其他字符(如重音字母),则上述模式将与它们不匹配。

答案 1 :(得分:0)

这似乎是功课。如果你想给老师留下深刻印象,你会阅读关于正则表达式的维基百科文章。

您将特别注意有关角色类的部分。

https://en.wikipedia.org/wiki/Regular_expression#Character_classes

祝你好运!