使用相同顺序的字符搜索另一个文本中的文本

时间:2015-02-13 17:09:04

标签: text-search

我想搜索一个文本(' needle'),如果它存在于另一个文本(' haystack')中,则具有以下两个条件:

  1. '针的所有字符必须在' haystack'在相同的订单
  2. '针的后续字符之间可以有任何且无限制的其他字符。在' haystack'
  3. 示例:

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

    此外' cde'不是常量字符串,而是在列表上迭代的变量。

    任何优雅的python或R或bash解决方案都将受到赞赏。

3 个答案:

答案 0 :(得分:1)

我可以建议你使用动态生成的正则表达式:

/.*c.*d.*e.*/

答案 1 :(得分:0)

答案 2 :(得分:0)

我在python中得到了解决方案:

re.match('.*'+'.*'.join(list(needle))+'.*',(haystack))