【发布时间】:2016-03-24 19:30:53
【问题描述】:
我有一个输入字符串,比如说potato。我在 Visual Studio 中有一个大型项目。我正在尝试编写一个正则表达式来查找输入的任何长于两个字符的子字符串。比如pot、ato、tat等。
/([p,o,t,a]){2,10}/g
这会查找包含这些字母的长度介于 2 到 10 个字符之间的任何字符串,但不考虑顺序。我希望有效地做
/([potato]){2,10}/g
并让它只返回在提供的字符串中找到的子字符串。这甚至可能吗?
【问题讨论】:
-
首先,如果您正在搜索子字符串,那么最大长度应该是该字符串的长度。在这种情况下 6.
-
也许通过递归,例如如果它与 s[i] 匹配,则使用 s[i+1] 调用?
-
输入的来源是什么?用户?它在哪里寻找用户输入字符串的子字符串?
-
@noob,很好。我的实际输入字符串是 10 个字符,我只是忘记为问题更新它。输入的来源是用户。这是我在 Visual Studio 的搜索框中输入的内容
-
@DavidBrossard 看到我只是在 Visual Studio 中使用搜索框,我不知道如何递归
标签: regex string visual-studio-2015