如何使用正则表达式从输入字符串创建子串?

时间:2013-04-05 06:22:04

标签: regex substring

如何使用正则表达式从输入字符串创建子字符串?
每个子字符串在输入中应该只有3个可以接受的字符。

例如:

 input text="1234abc";

预期子字符串

输出:123,234,34a,4ab.abc....

2 个答案:

答案 0 :(得分:1)

使用前瞻

 (?=(.{3}))

因此,在前瞻中的组中将捕获前3个字符。现在它将移动到下一个字符(即示例中的 2 )并再次捕获3个字符,依此类推.. < / p>

注意:

环视支持中的组捕获仅限于某些正则表达式实现

答案 1 :(得分:0)

您可以使用以下正则表达式:

(?=(.{3})).

工作原理 - 前瞻前方会看到三个字符并将它们放入第1组。然后我们只有一个.来吃一个字符。这会使正则表达式引擎向前移动,以便它可以进行下一场比赛。

要获取连续的字符,您需要遍历所有匹配并提取第一个组。如何执行此操作取决于您使用的语言。

您还可以在debuggex上查看此内容。沿测试字符串拖动黑色三角形,观察匹配中组1的情况。