PHP preg_match问题

2022-03-29 00:00:00 regex php preg-match

如何将以下字符串中的三个单词与Perl兼容的正则表达式匹配?

word1#$word2#$word3

我事先不知道实际的单词"word1、word2和word3"。我只知道分隔符是#$。

并且我不能使用字边界,因为我使用的是多字节编码。例如,这意味着字符串可以包含w控制字符检测不到的非ASCII字符,如元音。


解决方案

尝试此正则表达式:

/(w+)#$(w+)#$(w+)/

编辑在您向我们提供更多信息(请参阅对此答案的评论)后回复:

/((?:[^#]+|#[^$])*)#$((?:[^#]+|#[^$])*)#$((?:[^#]+|#[^$])*)/

相关文章