-1

Dictionary から 30000 以上の文字列のリストがあり、一致を見つける必要があります。

(0 から 1000 までの数字と一致するすべての単語を検索する必要があり、すべての数字は文字で表されます)

vowelsAndH = {a,á,e,é,ě,i,í,o,ó,u,ú,ů,y,ý,h}; 
one = {t,d,ť,ď};
two = {n,ň};
...

試験番号 121 の場合:

{vowelsAndH+}{one}{vowelsAndH+}{two}{vowelsAndH+}{one}{vowelsAndH+}

word "eděnautin" is Matched for 121
word "dnautin" is Matched for 121
word "dnaunin" is not Matched for 121, but is Matched for 122

だから問題は、これを取得する方法です

{vowelsAndH+}{one}{vowelsAndH+}{two}{vowelsAndH+}{one}{vowelsAndH+}

正規表現形式に。

4

1 に答える 1

0

私はそれを次のように見ています。

  1. 数字を定義するすべての記号を 1 つの OR 一致にダンプしています (1 と 2 の場合: [tdťďnň])
  2. 試合結果を受け取ったら、switch一致した文字がどの数字に属しているかを調べます

可能な正規表現:

    [aáeéěiíoóuúůyýh]*(?:([tdťďnň])[aáeéěiíoóuúůyýh]*)+
于 2012-12-16T18:59:03.453 に答える