繁体   English   中英

正则表达式只提取 {display:none} 之前的 CSS 类名

[英]Regular expression to only extract CSS class names before {display:none}

我找不到正确的正则表达式来提取类名称。 这是我的代码:

preg_match_all('@\.(.*!\.){display:none}@', '.UlEa{display:none}.RNLW{display:inline}.jc0k{display:none}.Lyhf{display:inline}', $matches);

$matches 是空的。 正确的正则表达式应该怎么看?

请注意,您的正则表达式与文字. ,然后尽可能多地捕获除换行符以外的任何 0+ 个字符的序列,直到最后一个!. 序列,然后匹配{display:none} 由于您的文本不包含! 也不下. 你没有对手。

获得匹配项的一种方法是在组 1 中使用\\w+ (=一个或多个单词字符,在[a-zA-Z0-9_]集合中[a-zA-Z0-9_] )模式:

\.(\w+){display:none}

查看正则表达式演示

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  )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM