Regex 如何在没有周围搜索条件字符的情况下捕获搜索字符?
我有一个字符串如下所示:Regex 如何在没有周围搜索条件字符的情况下捕获搜索字符?,regex,sublimetext2,Regex,Sublimetext2,我有一个字符串如下所示: Hello Hello Hello<br>Hello Hello <br> hello hello 你好你好你好你好你好你好你好 我试图用正则表达式捕获那些被字符包围的。因此,从上面的示例字符串中,我应该只捕获第一个实例,而不是第二个实例。我试着用这个: \w(<br/>)\w \w()\w 但我在这里捕捉到了结局:oH 如何让regex只捕获而不捕获环绕字符?您可以使用环视: (?<=\w)<br>(?=\
Hello Hello Hello<br>Hello Hello <br> hello hello
你好你好
你好你好
你好你好你好
我试图用正则表达式捕获那些被字符包围的
。因此,从上面的示例字符串中,我应该只捕获第一个
实例,而不是第二个实例。我试着用这个:
\w(<br/>)\w
\w(
)\w
但我在这里捕捉到了结局:o
H
如何让regex只捕获
而不捕获环绕字符?您可以使用环视:
(?<=\w)<br>(?=\w)
“代码>”还包括一个指定你正在使用的编程语言或工具的标签。“(从<代码> [ReXEX] 标签描述)如果你只想<代码> BR> < /代码>,为什么要捕获它?为什么不简单地认为它是代码> BR> < /代码>你混淆了“匹配数据”吗?(包括周围的\w
字符)和“捕获组”(括号内表达式匹配的部分)?很抱歉造成混淆。我已经更新了我的问题,解释了我为什么要这样做。问题是,你真正想要实现什么?如果你去掉周围的字符,你就没有机会将这个
与其他字符区分开来。请参阅:
NODE EXPLANATION
--------------------------------------------------------------------------------
(?<= look behind to see if there is:
--------------------------------------------------------------------------------
\w word characters (a-z, A-Z, 0-9, _)
--------------------------------------------------------------------------------
) end of look-behind
--------------------------------------------------------------------------------
<br> '<br>'
--------------------------------------------------------------------------------
(?= look ahead to see if there is:
--------------------------------------------------------------------------------
\w word characters (a-z, A-Z, 0-9, _)
--------------------------------------------------------------------------------
) end of look-ahead