我有以下句子

"my hooorrrr sssee strongggg"

我的正则表达式是:
"(h+o+r+s+e+) s+t+r+o+n+g+"

仅当句子为以下时才有效/匹配:
"my hooorrrrsssee strongggg"

任何机构都可以提供帮助?

无论单词之间的空格如何,我都想匹配。
example : "my h ooo rrr rss    se eee    stttro ngggg"

另一个问题是当某些字符被数字替换时,如下所示:
"my h 0o0 rrr rs555sss    se ee333    stttr0 ngggg"

a replaced by 4
b replaced by 8
s replaced by 5
i replaced by 1
o replaced by 0

任何机构都可以提供帮助?

谢谢

最佳答案

使用 * (space, asterisk) 允许可选空格。

(h[h ]*o[o ]*r[r ]*s[s ]*e[e ]*)s[s ]*t[t ]*r[r ]*o[o ]*n[n ]*g[g ]*

您可能还需要考虑将任何空格与 \s(例如,包括制表符)匹配,而不仅仅是空格。

要允许数字或字母,请使用字符类,例如 [0o]
(h[h ]*[o0][o0 ]*r[r ]*[s5][s5 ]*[e3][e3 ]*)[s5][s5 ]*t[t ]*r[r ]*[o0][o0 ]*n[n ]*g[g ]*

关于php - 带有 +(plus) 和空格模式的正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7618661/

10-12 15:15
查看更多