私は約12万語の英語の単語のリストを持っています(基本的にその言語のすべての単語)。
*
ワイルドカード文字、別名、を使用してこれらの単語を検索できる正規表現が必要?
です。
いくつかの例:
- ユーザーがを検索すると
m?st*
、たとえばmaster
またはmister
またはに一致しmistery
ます。 *ind
ユーザーが(で終わる任意の単語)を検索すると、orまたはorind
に一致します。wind
bind
blind
grind
現在、ほとんどのユーザー(特に正規表現に慣れていないユーザー)は、これ?
が正確に1文字*
の代わりであり、0、1文字以上の代わりであることを知っています。これをもとに検索機能を構築したいです。
m?st*
私の質問は次のとおりです。ユーザーが入力したもの(たとえば)を正規表現に変換するにはどうすればよいですか?
私はウェブ(明らかにこのウェブサイトを含む)を検索しました、そして私が見つけたのは私にあまりにも多くを教えようとしたチュートリアルか、いくぶん似ているが私自身の問題への答えを提供するには不十分な質問だけでした。
私が理解できたのは、に置き換える必要があるということだけでし?
た.
。だからm?st*
になりm.st*
ます。しかし、何に置き換えればいいのかわかりません*
。
どんな助けでも大歓迎です。ありがとうございました。
PS:私は正規表現にまったく慣れていません。彼らがどれほど強力であるかは知っていますが、学ぶのが非常に難しいことも知っています。だから私はそれに時間をかけたことはありません...