匹配 % 和 % 之间的任意 10 个字母数字组合

本文关键字:组合 数字 任意 之间 匹配 | 更新日期: 2023-09-27 18:33:21

我有一个包含各种符号的字符串,但我需要获取一个位于 % 和 % 之间的 10 个字母数字子字符串 - 但一个字符串中可能有不止一个 % 和 % 的组合

示例:%bla1234bla%,或 %12aa22bb33% 等(我不需要 %(

我试过这个:

String resultString = Regex.Match(lnk, @"'[%'](.*?)'[%']{10}").Value;

它不起作用

匹配 % 和 % 之间的任意 10 个字母数字组合

试试这个正则表达式:

@"%[0-9a-zA-Z]{10}%"

或者这个:

@"%[^'W_]{10}%"

我不需要 %

您可以使用捕获组来指定要捕获的零件:

@"%([0-9a-zA-Z]{10})%"

在线查看它的工作:ideone

(?<=%)['da-zA-Z]{10}(?=%)

通过正面向前看和向后看,这将匹配 % 字符之间的 10 个字母数字字符,而实际上与 % 字符不匹配。

试试这个:

@"%['da-zA-Z]{10}%"

不确定正则表达式是否是必需的,但这似乎有效...

string[] stringArray = testString.Split('%')
                                 .Where(s => s.Length == 10)
                                 .ToArray();