[英]Regular Expression for an infinite string
我正在尝试找出您是否可以为无限字符串的子字符串集提供正则表达式,例如,如果无限字符串是123123123123123123 ...
是否会有一个描述此的正则表达式,例如我尝试过(123) |(231) |(312)*,但由于我需要考虑字符串中的12和23而无法正常工作
将“无限”字符串定义为同一基本字符串<base>
的无数个副本的串联(示例中为123
)。 从观察到任何子字符串按给定顺序出现以下部分开始:
<base>
后缀或空字符串 <base>
0个或多个重复 <base>
前缀或空字符串 用正则表达式来说,
<base>
后缀的可选替代 <base>
<base>
前缀的可选替代 特别:
(23|3)?(123)*(1|12)?
该解决方案明确允许使用空子字符串。 为了排除这种情况,前缀或后缀或中间部分不能为空。 这可以通过改变完整图案的不同变化来实现。
123|((23|3)(123)*(1|12)?)|((23|3)?(123)*(1|12))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.