gpt4 book ai didi

ruby - block 缩进正则表达式

转载 作者:行者123 更新时间:2023-12-04 06:05:53 25 4
gpt4 key购买 nike

我在使用正则表达式时遇到问题。

我正在尝试实现一个正则表达式来只选择选项卡缩进块,但我找不到让它工作的方法:

例子:

INDENT(1)
INDENT(2)
CONTENT(a)
CONTENT(b)
INDENT(3)
CONTENT(c)

所以我需要像这样的块:
INDENT(2)
CONTENT(a)
CONTENT(b)


INDENT(3)
CONTENT(c)

我怎么能做到这一点?

真的 tks,几乎就是这样,这是我最初的需求:
table
tr
td
"joao"
"joao"
td
"marcos"

我需要单独的“td”块,我可以调整你的例子吗?

最佳答案

这完全取决于您要尝试做什么,但可能是这样的:

^(\t+)(\S.*)\n(?:\1\t.*\n)*

工作示例: http://www.rubular.com/r/qj3WSWK9JR

该模式搜索:
  • ^(\t+)(\S.*)\n - 以制表符开头的行(我还捕获了组中的第一行,只是为了看看效果),然后是
  • (?:\1\t.*\n)* - 带有更多标签的行。

  • 同样,您可以使用 ^( +)(\S.*)\n(?:\1 .*\n)*用于空格 ( example )。不过,混合空格和制表符可能有点问题。

    对于更新的问题,请考虑使用 ^(\t{2,})(\S.*)\n(?:\1\t.*\n)* , 在行的开头至少有 2 个选项卡。

    关于ruby - block 缩进正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8362030/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com