我找不到正确的正则表达式来提取类名。这是我的代码:
preg_match_all('@'.(.*!'.){display:none}@', '.UlEa{display:none}.RNLW{display:inline}.jc0k{display:none}.Lyhf{display:inline}', $matches);
$匹配为空。怎样才能看起来正确的正则表达式?
请注意,您的regex匹配文字.
,然后捕获除换行符号之外的任何0+字符序列,直到最后一个!.
序列,然后匹配{display:none}
。由于您的文本不包含!
,也不包含下一个.
,因此您没有匹配项。
获得匹配的一种方法是在第1组中使用'w+
(=一个或多个单词字符,这些字符在[a-zA-Z0-9_]
集合中)模式:
'.('w+){display:none}
查看regex演示
PHP演示:preg_match_all('@'.('w+){display:none}@', '.UlEa{display:none}.RNLW{display:inline}.jc0k{display:none}.Lyhf{display:inline}', $matches);
print_r($matches[1]); // => Array ( [0] => UlEa [1] => jc0k )