我必须承认,自我的RegEx课程开始已经有几年了,从那以后,我对它们做了很少的工作。所以我转向SO的脑力。 。
我有一个带有一些数据的Excel电子表格(2007)。我想在其中一个列中搜索模式(这里是RegEx部分)。当我找到匹配项时,我想将找到的匹配项的一部分复制到同一行中的另一列。
源数据的样本包含在下面。每行代表源中的一个单元格。
我正在寻找一个匹配“abms feature = XXX”的正则表达式,其中XXX是一个变量长度的单词 - 其中没有空格,我认为所有的字母字符。找到匹配后,我想抛出匹配的“abms feature =”部分,并将代码(XXX部分)放入另一列。
我可以处理excel编码部分。我只需要正则表达式的帮助。
如果您可以提供完全在Excel中执行此操作的解决方案 - 无需编码,只需使用本机excel公式和命令 - 我也希望听到这一点。
谢谢!
###################################
Structure
abms feature = rl
abms feature = sta
abms feature = pc, pcc, pi, poc, pot, psc, pst, pt, radp
font = 5 abms feature = equl, equr
abms feature = bl
abms feature = tl
abms feature = prl
font = 5
###################################
答案 0 :(得分:1)
我自己仍在学习正则表达式,但我发现这个地方对于获取想法或比较我想出的东西很有用,将来可能会有所帮助吗? http://regexlib.com/
答案 1 :(得分:0)
试试这个正则表达式:
abms feature = (\w+)
以下是如何从捕获组中提取值的示例:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
Regex regex = new Regex(@"abms feature = (\w+)",
RegexOptions.Compiled |
RegexOptions.CultureInvariant |
RegexOptions.IgnoreCase);
Match match = regex.Match("abms feature = XXX");
if (match.Success)
{
Console.WriteLine(match.Groups[1].Value);
}
}
}
答案 2 :(得分:0)
(?<=^abms feature = )[a-zA-Z]*
假设你没有用逗号后的单词做任何事情