我有以下RegEx-Pattern:
pattern = @"(?<=\[)[\da-f]{8}(?=\])";
正确地从“ [f000000f]栏”中提取“ f000000f ”,但它不应与“ Foo [f000000f]栏“所以我添加了^
来确定模式的开头:
pattern = @"^(?<=\[)[\da-f]{8}(?=\])";
但是这种模式对两种输入都不起作用。
有人能告诉我如何强制第一个模式只在input-String的开头匹配吗?
提前致谢。
答案 0 :(得分:1)
你需要在lookbehind中移动锚点,如下所示:
(?<=^[)[\da-f]{8}(?=])"
否则,您将无法与[f000000f]
匹配,因为您的表达式中没有任何部分“消耗”开头方括号[
。