在RegEx中,我可以“硬编码”命名捕获组值

时间:2009-09-24 16:12:43

标签: regex

是否有可能拥有一个名为“BLAH”的命名捕获组,尽管“BLAH”没有出现在匹配的字符串中?

实际上,我正在寻找类似下面的伪正则表达式(注意假源= BLAH语法):

^(?<source=BLAH>)$

1 个答案:

答案 0 :(得分:3)

如果我理解正确,你会问你是否可以将“来源”作为一个命名的捕获组,尽管“BLAH”没有出现在匹配的字符串中,但它总是具有“BLAH”的值。这是不可能的。

你能做的最多就是用(?'source')设置你的正则表达式,它将被视为一个空的捕获组,它什么都不匹配。使用GetGroupNames method,您可以看到它存在,但您无法为其分配任何内容,这会使其无效。如果“BLAH”是预期的文件前缀,那么在代码的其他地方处理它,除非你有各种前缀,在这种情况下你可以考虑动态构建正则表达式模式来处理它们。