PHP preg_match 排除

PHP preg_match exclude

好的,此正则表达式将匹配 2aa、a2、2aaaaaa、aaaa2、aaa2aaaa、2222a2222-2222-aaaa 等字符串...简而言之,序列中字母数字字符的混合:

preg_match("/(?:\d+[a-z]|[a-z]+\d)[a-z\d]*/i")

现在我想排除一些东西但是我卡住了,这样的东西不起作用

preg_match("/(?!1920x1200|1920x1080)(?:\d+[a-z]|[a-z]+\d)[a-z\d]*/i")

例如字符串 aaaaa222aaa1920x1200bbbbb1234556789 仍然匹配,但它不应该匹配,因为它包含 1920x1200

感谢任何帮助:)

我正在使用此处找到的正则表达式来匹配字母数字序列Regex: match only letters WITH numbers

正则表达式测试:https://regex101.com/r/vU9aU9/1

你的否定前瞻应该在前面有 .* 以允许在不允许的文本之前有 0 个或更多字符。在正则表达式中也使用锚点。

正则表达式应该是:

preg_match('/^.*?1920x1200.*$(*SKIP)(*F)|(?:\d+[a-z]|[a-z]+\d)[a-z\d]*/im')

RegEx Demo