正则表达式匹配字符串的子字符串

时间:2018-08-06 12:59:59

标签: regex substring

我有一个枚举,我将其用作程序的固定参数值,并使用regex清除用户输入。

我希望用户能够输入其中一个值的部分匹配项,并接受该值而不是其他值。

例如,如果枚举为:

end
end now
start
swarm
condition

然后用户输入

s
st
sta
etc...

没关系,因为它是开始的一部分; 但是如果用户输入

ending

这不行,因为它不属于任何其他词语。

我知道我可以在(s|st|sta|star|start)组中指定每个排列,并且可以完成工作,但是很难对大约12个不同的值执行此操作,而且很难做到“难看” ...

是否有更简单的方法来匹配固定值或这些固定值的子项?

我不是不是正在搜索特定于一种引擎/语言的内容(例如Java代码。)

1 个答案:

答案 0 :(得分:-1)

正则表达式不是这项工作的正确工具。

只需找到用户输入的长度(称为N),然后遍历有效值并查看该值的前N个字符是否与输入匹配。

如果只有一项匹配,那么您将获得一个结果!如果有多个匹配项,您将需要用户提供更多字母来标识正确的字母。如果没有匹配项,则无效。