我需要一个例子的帮助
我需要构建一个与以下内容匹配的模式:
示例1 = (and 'value1' 'value2' 'value3')
- >我需要列表中的value1
,value2
,value3
。
示例2 = (and field1:'value1' field2:'value2' field3:'value3')
- >在这种情况下,应省略值 - >列表应为空
示例3 = (and((and field1:'value1' field2:'value2' 'value3')(and 'value100' value101))
- >列表应包含value3
,value100
作为sumarize,我需要所有符合\'。+ \'但不是数学。+:\'。+ \'
'value'
- >值应匹配 field:'value'
- >值应省略 值和字段可以是任何
答案 0 :(得分:0)
非常抽象的任务。对于这个例子,我可以提供这个问题: " \ S \'值[0-9] + \'"
答案 1 :(得分:0)
我认为你想像这样使用负面的背后隐藏:
Array.from(document.querySelectorAll('tr[id*=";"]')).forEach(tr => {
tr.remove()
})
答案 2 :(得分:0)
尝试直接模式
(?<!:)'(?<value>\w+)'
,其中
'(?<value>\w+)' - alphanumeric letters within apostrophes
(?<!:) - but NOT before ":"
由于我们不希望 \w+
匹配
.+
而不是建议' field2:'
这样的事情:
string source =
@"(and((and field1:'value1' field2:'value2' 'value3')(and 'value100' value101))";
string pattern = @"(?<!:)'(?<value>\w+)'";
List<string> items = Regex
.Matches(source, pattern)
.OfType<Match>()
.Select(match => match.Groups["value"].Value)
.ToList();
测试:
Console.WriteLine(string.Join("; ", items));
结果:
value3; value100
答案 3 :(得分:-1)
这是一个很棒的工具,可以让你使用遗传算法生成正则表达式。
您为它提供了样本数据集,它将生成满足数据集的正则表达式。数据集中的数据越多(边缘情况等),最终正则表达式就越准确。
如果你想自己编写正则表达式,你需要去学习正则表达式。这里有大量的资源用于此。