好的,这个正则表达式将匹配像2aa,a2,2aaaaa,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
感谢任何帮助:)
我正在使用此处的正则表达式来匹配alphanum序列Regex: match only letters WITH numbers
正则表达式测试:https://regex101.com/r/vU9aU9/1
答案 0 :(得分:3)
您的否定前瞻应该在前面有.*
,以便在不允许的文字之前允许0个或更多字符。也可以在正则表达式中使用锚点。
正则表达式应该是:
preg_match('/^.*?1920x1200.*$(*SKIP)(*F)|(?:\d+[a-z]|[a-z]+\d)[a-z\d]*/im')