【发布时间】:2017-05-10 16:34:22
【问题描述】:
我在这里找到了许多问题的答案,但这次我被困住了。我已经查看了 100 多个问题,但没有找到解决我问题的答案,所以我希望得到您的帮助:D
考虑以下单词列表:
iris
iridium
initialization
当我完全使用字符 u、i、i 查找时,如何使用正则表达式在此列表中查找单词?我希望正则表达式能够找到“铱”,只是因为它是列表中唯一有两个 i 和一个 u 的单词。
我尝试过的
我一直在这里和其他地方搜索,但没有找到任何对我有帮助的东西。
[i].*[i].*[u]
与预期的一样匹配铱,而不是虹膜或初始化。但是,字符 i、i、u 必须在单词中按该顺序排列,这可能是,也可能不是。所以尝试不同的顺序
[u].*[i].*[i]
这与铱不匹配(但我希望它匹配,铱包含 u、i、i)并且我被卡住了怎么做才能匹配。有什么想法吗?
我知道我可以尝试所有序列(在上面的示例中,它会是 iiu; iui; uii)但是当我正在寻找更多的字符(比如 6,tnztii 将匹配初始化)。
[t].*[n].*[z].*[t].*[i].*[i]
[t].*[z].*[n].*[t].*[i].*[i]
[t].*[z].*[n].*[i].*[t].*[i]
..... (long list until)
[i].*[n].*[i].*[t].*[z].*[t] (the first matching sequence)
有没有办法使用正则表达式来查找单词,而不管字符的顺序如何?
【问题讨论】:
-
正则表达式对此不太好。你真的需要它们吗?
-
您可以单独匹配字符并使用编程逻辑来验证所有字符是否匹配。
标签: regex