Regex 用于获取长度为n的所有子字符串的正则表达式
给定一个只包含小写字母和整数的输入字符串Regex 用于获取长度为n的所有子字符串的正则表达式,regex,Regex,给定一个只包含小写字母和整数的输入字符串N。我需要一个正则表达式来从输入字符串中提取长度N的所有子字符串。例如:let N=3和input string=“baababaacb”结果应该是:“baa”“aab”“aba”“bab”“aba”“bac”“acb” 我已经尝试过:([a-z]{3}),并多次尝试使其非贪婪:(?:[a-z]{3})和([a-z]{3}?,但两者都不能产生所需的输出,而且我也不确定我采取的方法是否正确。任何帮助都将不胜感激。您可以使用此lookahead正则表达式获取所
N
。我需要一个正则表达式来从输入字符串中提取长度N
的所有子字符串。例如:let N=3
和input string=“baababaacb”
结果应该是:“baa”“aab”“aba”“bab”“aba”“bac”“acb”
我已经尝试过:
([a-z]{3})
,并多次尝试使其非贪婪:(?:[a-z]{3})
和([a-z]{3}?
,但两者都不能产生所需的输出,而且我也不确定我采取的方法是否正确。任何帮助都将不胜感激。您可以使用此lookahead正则表达式获取所有3个字符的字符串:
(?=([a-z0-9]{3}))
您可以使用此lookahead regex获取所有3个字符的字符串:
(?=([a-z0-9]{3}))
这是一个很好的例子。正则表达式是这项工作的错误工具。@zzbov你是在建议我删除第二段吗?一点也不,我是在建议你把问题改写成关于你的目标而不是你的尝试。这是一个很好的例子。正则表达式是这项工作的错误工具。@zzbov你是在建议我删除第二段吗?一点也不,我是在建议你把问题改写成关于你的目标而不是你的尝试。谢谢我使用C++,而且很有效。(虽然,输入只包含小写字母,所以我去掉了“0-9”)。是的,这是正确的,对于小写字母,您可以使用:
(?=([a-z]{3}))
谢谢。我使用C++,而且很有效。(虽然,输入只包含小写字母,所以我去掉了“0-9”)。是的,这是正确的,对于小写字母,您可以使用:(?=([a-z]{3}))