PHP Regex: Matching Ands - & and &


PHP Regex: Matching Ands - & and &

我正在尝试匹配html中的和字符。有三种类型的ands:

and, &, &

我使用以下代码:

(&|&|'band'b)

上面代码的问题是:它还匹配以&

i.e. © €

我也尝试过以下内容,但它与&字符。

('s&'s|&|'band'b)

怎么样

(&)|&(?!'w)|'band'b

匹配and&&

© € 不匹配

中间一个匹配一个后面没有单词字符([A-Za-z0-9_])的"与"符号

(&|&|'band'b)

这是一个良好的开端。通过减少结果集,您必须指定不匹配时的详细信息。没有什么神奇的分隔符可以告诉regex您想要什么。所以问题是:你怎么能说出"&amp你想接受那些你不想接受的人吗?

也许你想接受所有的"&"如果不是开始一个单词?因此:

(&[^a-zA-Z]|&|'band'b)

试试这个正则表达式:

$regex = '/'b(('&(amp;)?)|(and))'b/i';