我一直在谷歌上搜索这个。 我想要实现的目标是下一个: 如果MIME不是特定类型,我必须检查正则表达式条件。
例如,我已收到下一条消息:
image/png, image/jpeg, document/pdf
我只想检测document/pdf
部分
,这是一个MIME类型,一个字符串,不以image /
但无论我看起来多么努力,尝试和使用RegExBody软件,我都完全无法匹配它..
我绝望地发布这封信,希望也许专家正则表达可以帮助我......
我尝试了很多方法,主要是: 找出非图像类型,无论是否存在。
它只是拒绝工作。
我尝试了积极的前瞻和否定的前瞻。但我可能以某种方式错了。我无法发布这些示例,因为我已经尝试并删除了这么多。似乎真正接近工作的那个是\b(?:(?!image/\w+))\w+\b
,但它只是坚持选择不匹配模式的第二部分。
如果我使用:image/png
得到:png
这意味着它仍然会返回true,尽管我的意思是忽略image/
类型..
答案 0 :(得分:3)
您应该在/\w+
之后添加\w+
部分以匹配您的子字符串:
\b(?!image/)\w+/\w+\b
请参阅regex demo
模式细节:
\b
- 字边界(?!image/)
- 如果在当前位置之后有image/
,则表示匹配失败,\w+/\w+
- 1个单词字符后跟/
,后面还有1个单词字符\b
- 尾随字边界答案 1 :(得分:0)
当用''替换时,这个搜索正则表达式将返回document / pdf。
(?:image\/\w+)[,\s]*