我正在使用 Javascript,但我认为这是一个一般的正则表达式问题。
我正在编写一个脚本,它在一个长字符串中搜索字母之间距离相等的子字符串。例如,在文本中,a11b22c33d44
我们有abcd
每两个连续字母之间距离为 2 的字符串。
使用 regexp 搜索查找此类字符串很简单:对于上面的示例,我只需要搜索 regexp /a.{2}b.{2}c.{2}d/
。所以我现在要做的是:给定一个要搜索的单词以及我简单地放在.{n}
它们之间的连续字母之间的距离(其中 n 是距离),将其编译为正则表达式并让它完成其余的工作。
只要字母之间的距离很小,这在实践中效果很好——比如说,大约 1000。之后它变得很慢。它仍然有效,但我希望有另一种方法可以更有效地执行相同的搜索;我看不出为什么对于较大的间隙它应该显着变慢的明显原因(我们仍然需要只浏览整个文本一次,对吗?)