我目前正在使用JavaScript编写一个应用程序,其中我正在将输入与正则表达式进行匹配,但我还需要找到一种方法,如何将字符串与正则表达式的部分进行匹配。
例如:
var invalid = "x",
potentially = "g",
valid = "ggg",
gReg = /^ggg$/;
gReg.test(invalid); //returns false (correct)
gReg.test(valid); //returns true (correct)
现在我需要找到一种方法来确定变量 "potentially" 的值是否与正则表达式“/^ggg$/”不完全匹配,但是随着更多输入,它有可能匹配!例如,在这种情况下,“potentially”变量是“g”,但如果再添加两个“g”字母,则将匹配正则表达式“/^ggg$/”。不过,在“invalid”的情况下,无论你添加多少字符,它都无法匹配正则表达式“/^ggg$/”。那么,我该如何确定一个字符串是否具有或具备潜力匹配特定的正则表达式呢?
/^abc$/
的情况下,可能的匹配是什么?它只包括a
和ab
吗?还是包括b
、c
、bc
甚至ac
?如果只有a
和ab
,我们可以使用/^a(bc?)?$/
。 - Amarghosh可能
不那么严格的表达式/^g{1,3}$/
并测试一下呢? - Alex K.a(bc?)?
来计算长度为三的字符串。随着字符串长度的增加,正则表达式也会变得更长:/^a(b(cd?)?)?$/
。尝试编写一个正则表达式生成器 - 这并不难。 - Amarghosh