繁体   English   中英

正则表达式位于上下文字符串的开头

[英]Regex at the beginning of a string in context

我有以下RegEx模式:

pattern = @"(?<=\[)[\da-f]{8}(?=\])";

它从“ [f000000f] Bar ”中正确提取出“ f000000f ”,但在“ Foo [f000000f] Bar ”上不匹配,因此我添加了^来确定模式的开始:

pattern = @"^(?<=\[)[\da-f]{8}(?=\])";

但是此模式不适用于两个输入。

有人可以告诉我如何强制第一个模式仅在输入字符串的开头进行匹配吗?

提前致谢。

您需要在后面的内部移动锚点,如下所示:

(?<=^[)[\da-f]{8}(?=])"

否则,您将不匹配[f000000f] ,因为表达式的任何部分都不会“使用”方括号[

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM