-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. 您将所有定义数字的符号转储到一个 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 回答