0

テキスト ('needle') が別のテキスト ('haystack') 内に存在する場合、次の 2 つの条件で検索したいと思います。

  1. 「針」のすべての文字は、同じ順序で「干し草の山」内になければなりません
  2. 「干し草の山」内の「針」の後続の文字の間に、他の文字を無制限に含めることができます

例:

  • cde in abcde --> TRUE
  • cde in ab-c-de --> TRUE
  • cde in cabecd --> FALSE
  • cde in cd!a+b5ce --> TRUE
  • edc の cde --> FALSE

さらに、「cde」は定数文字列ではなく、リストを反復処理する変数です。

Python、R、またはbashでのエレガントなソリューションをいただければ幸いです。

4

3 に答える 3

1

次のような動的に生成された正規表現を使用することを提案できます。

/.*c.*d.*e.*/
于 2015-02-13T17:25:26.777 に答える
0

正規表現はあなたの友達です。 http://en.m.wikipedia.org/wiki/Regular_expression

https://docs.python.org/2/library/re.html

于 2015-02-13T17:14:26.503 に答える