我正在为用户构建一个小型过滤器实用程序来快速过滤项目列表,并且我想按顺序匹配单词的开头,最好使用正则表达式:
考虑一个用户试图找到标记为 的项目here is some text
。
- 我已经知道如何让它匹配任何一个单词的开头:
她——她的e 是一些文本——\bher
所以——这是我的文本——\bso
分机——不匹配——\bext
- 而且我知道如何使它匹配几个单词的第一个字母:
hist -这是一些文本- ht -这是一些文本- _ _\bh.*?\bi.*?\bs.*?\bt
\bh.*?\bt
- 我需要的是能够匹配
n
几个单词的第一个字符:
herst — her e is some t ext iso — here is so me text teh —不匹配
我这样做是因为我的项目通常包含 intialisms,并且用户可能会键入usc以尝试快速拉出US A、C alifornia
我正在为每个输入重写模式,所以我可以做一些工作,这在案例 #2 中是必要的。我正在寻找一种解决方案,无论是模式复杂度还是总复杂度,都可以随字符数线性扩展。
鉴于这些限制,匹配这些字符串的最佳选择是什么?