繁体   English   中英

如何向前瞻、后向正则表达式添加额外的捕获组

[英]How to add additional capture group to lookahead, lookbehind regex

我正在使用这个正则表达式: (?<=\[).+?(?=\])来匹配下面我的测试字符串中的数据。

这个正则表达式匹配我括号之间的所有内容。 我还需要包含我的字符串的 '1234567890ABC...' 部分。 我该怎么做?

这是我的测试字符串:

[one] [two] [three] 1234567890ABC...

您可以使用\G锚点并匹配除方括号外的任何字符,或匹配\w+以仅匹配单词字符。

(?:\[|\G(?!^)]\h\[?)\K[^][\s]+
  • (?:非捕获组
    • \[匹配[
    • | 或者
    • \G(?!^)在上一场比赛中断言 position
    • ]\h\[? 匹配] ,水平空白字符和可选的[
  • )\K关闭组并重置匹配缓冲区
  • [^][\s]+匹配除方括号或空白字符外的任何字符的 1+ 次

正则表达式演示

您可以尝试这种模式,它与您使用的模式相同,但它还包括括号后的单词和数字

(?<=\[).+?(?=\])\d+|\w+

暂无
暂无

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

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