我想使用regex提取3-8位数字和3个字母文本(casplock文本)之间的数据。任何想法都将不胜感激,谢谢。
数据(即字符串)
"06/29/20 B QM 02004946测试住宅按揭TRU
03/10/20 B BC 2440720 BK测试XPN
03/07/20 B QZ 00060298 CPORT RU TRU“
输出应该是:测试房屋抵押贷款,测试的BK和CPORT RU
发布于 2020-08-31 06:42:55
也许这个
lookbehind
更新
var pattern = @"(?<=\d{3,8}\s).*(?=\s[A-Z]{3})";
var input = @"06/29/20 B QM 02004946 MY HELLO WORLD XLS
08/29/20 B QM 0948264 MY UI PATH LMN
08/29/20 B QM 435 MY SAMPLE DATA LMN
06/29/20 B QM 123 MY HELLO WORLD XLS";
var results = Regex
.Matches(input, pattern, RegexOptions.Multiline)
.Cast<Match>()
.Select(x => x.Value);
Console.WriteLine(string.Join(", ", results));
输出
MY HELLO WORLD, MY UI PATH, MY SAMPLE DATA, MY HELLO WORLD
原始
模式
(?<=\d{3,8}\s).*(?=\s[A-Z]{3}$)
使用
var pattern = @"(?<=\d{3,8}\s).*(?=\s[A-Z]{3}$)";
var strings = new List<string>()
{
"06/29/20 B QM 02004946 MY HELLO WORLD XLS",
"08/29/20 B QM 0948264 MY UI PATH LMN",
"08/29/20 B QM 435 MY SAMPLE DATA LMN"
};
var results = strings.Select(x => Regex.Match(x, pattern).Value);
foreach (var result in results)
Console.WriteLine(result);
输出
MY HELLO WORLD
MY UI PATH
MY SAMPLE DATA
https://stackoverflow.com/questions/63665879
复制相似问题