在 C# 中使用正则表达式来提取各种模式组合
Regex usage in C# to extract various pattern combinations
我正在尝试使用 regex.match 从给定字符串中提取各种模式。我有 3 个模式,我必须分别匹配和提取它们。
第一种模式:以一串字母开头,然后仅跟数字
第二个模式:以一串字母开头,然后是数字,最后是一串字母
第三种模式:以数字开头,然后仅跟一串字母
我试过使用:
Regex.Match(inputData, @"^(\w+)(\d+)$") // 第一个模式
Regex.Match(inputData, @"^(\w+)(\d+)(\w+)$") // 第二个模式
Regex.Match(inputData, @"^(\d+)(\w+)$") // 第三个模式
但是,我意识到如果提供的字符串无效,'w' 可以指代数字或字母表(这会给我误报结果)。我真的很感激在修复模式匹配方面的一些帮助。
谢谢
将 (\w+)
替换为您的模式中的以下内容:
([a-zA-Z]+)
这将只包含标准字母,不包含数字。请注意,如果您的要求还包括其他字符 - 如重音字母 - 上述模式将不匹配它们。
这好像是作业。如果您想打动您的老师,您将阅读有关正则表达式的维基百科文章。
你会特别注意关于字符 类 的部分。
https://en.wikipedia.org/wiki/Regular_expression#Character_classes
祝你好运!
我正在尝试使用 regex.match 从给定字符串中提取各种模式。我有 3 个模式,我必须分别匹配和提取它们。
第一种模式:以一串字母开头,然后仅跟数字
第二个模式:以一串字母开头,然后是数字,最后是一串字母
第三种模式:以数字开头,然后仅跟一串字母
我试过使用:
Regex.Match(inputData, @"^(\w+)(\d+)$") // 第一个模式
Regex.Match(inputData, @"^(\w+)(\d+)(\w+)$") // 第二个模式
Regex.Match(inputData, @"^(\d+)(\w+)$") // 第三个模式
但是,我意识到如果提供的字符串无效,'w' 可以指代数字或字母表(这会给我误报结果)。我真的很感激在修复模式匹配方面的一些帮助。
谢谢
将 (\w+)
替换为您的模式中的以下内容:
([a-zA-Z]+)
这将只包含标准字母,不包含数字。请注意,如果您的要求还包括其他字符 - 如重音字母 - 上述模式将不匹配它们。
这好像是作业。如果您想打动您的老师,您将阅读有关正则表达式的维基百科文章。
你会特别注意关于字符 类 的部分。
https://en.wikipedia.org/wiki/Regular_expression#Character_classes
祝你好运!