如何用双破折号和/或单破折号匹配字符串?

时间:2020-04-19 04:08:37

标签: regex linux grep

使用以下代码,我想使用正则表达式来选择.ptress--a.ptress--a-l以及其他类。

.ptres--a { pointer-events: auto }
.ptres--n { pointer-events: none }

 @media (max-width: 1280px) {
    .ptres--a-l { pointer-events: auto }
    .ptres--n-l { pointer-events: none }
 }  

 @media (max-width: 840px) {
    .ptres--a-m { pointer-events: auto }
    .ptres--n-m { pointer-events: none }
 }

 @media (max-width: 400px) {
    .ptres--a-s { pointer-events: auto }
    .ptres--n-s { pointer-events: none }
 }

我拥有\w[\w]*(?:--\w+)的正则表达式与整个字符串不匹配,而省略了最后的-l|m|s部分。

1 个答案:

答案 0 :(得分:2)

这是您需要的简单正则表达式,

\.\w+--\w+-\w+|.\w+--\w+

这使用OR来匹配格式为.ptres--a-l.ptres--a的任一字符串

您可以像这样在grep中使用它,

cat custom.css | grep -E -o '.\w+--\w+-\w+|\w+--\w+'