[英]Regular Expression Fuzzy Autocomplete Help
尝试为Java写一个正则表达式,只有在字符串的开头包含@时才返回true(用于自动完成)。 因此,如果我的术语是“工作”,我希望它对“家庭作业”返回false,对“工人”返回true。 甚至“ wo”一词对“工人”也应适用。 有人可以帮忙吗? 任何信息非常感谢。
同样不确定是否重要,他们可能会将这些特殊字符作为自动完成项(,),-,。,:,/,_和空格的一部分。
使用startsWith
方法。 正则表达式在这里过大。 例如
"workers".startsWith("wo")
是真实的,如所期望的。
这里有几种不同的方法,但老实说,我不确定正则表达式是否正确。 到目前为止,您还没有提供任何以代码方式提供给我们的信息,因此我只能为您提供一些提示。
^
。 startsWith
。 如果只想匹配前缀,最好不要使用正则表达式。 天真地可以使用String.startsWith方法,它比类似的正则表达式要快得多。
一个更快的选择是使用Trie,这里是一个示例实现: http : //www.cs.duke.edu/~ola/courses/cps108/fall96/joggle/trie/Trie.java
你为什么不只做term.startsWith(start)
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.