我使用的是一个正则表达式。
^(?=.*?\bone)(?=.*?\btwo)(?=.*?\bthree).*$这上面说..。将“一”作为起始词,“二”作为起始词,“三”作为起始词。不幸的是,它不能确保秩序。
例如,上面的表达式将匹配"abc一、二、四、三、五“,这实际上确保了”一“、”二“和”三“在我的文本中。如何确保秩序。具体来说,“一”在“二”之前,“三”之后呢?
所以..。“二四三”应该匹配,但“四四三”不应该匹配.
我正在使用德尔菲XE6,如果这有什么不同的话(我不认为.)
发布于 2015-09-13 17:41:59
您可以将三个正的看头组合成一个正的前瞻,以确保哪个字符串必须放在第一位。
^(?=.*?\bone.*?\btwo.*?\bthree).*$发布于 2015-09-13 17:37:17
如果你想确保秩序,然后移除围观。
^.*?\bone\b.*?\btwo\b.*?\bthree\b或
^(?:(?!\bone\b|\btwo\b|\bthree\b).)*?\bone\b(?:(?!\bone\b|\btwo\b|\bthree\b).)*?\btwo\b(?:(?!\bone\b|\btwo\b|\bthree\b).)*?\bthree\bhttps://stackoverflow.com/questions/32552557
复制相似问题