css中的正则表达式失败

时间:2016-05-11 04:03:22

标签: css regex

我正在OS X 10.10.5上的Firefox 46.0.1上创建一个用户css。我创建了以下样式规则。我希望匹配一个或多个数字作为下面正则表达式的一部分。我用的时候 。*我的正则表达式有效。试过*因为+没有工作。 我的正则表达式中的这三个表达式都不起作用。

  • \ d *
  • [0-9] *
  • [0-9] +

我的页面是:   https://discussions.apple.com/thread/7522221?decorator=print&displayFullThread=true

/* this regular expression finds the page, when used alone. */
/*
@-moz-document 
  regexp("https:\/\/discussions\.apple\.com\/thread\/.*\?decorator=print&displayFullThread=true.*") 
{  
   html, body, h1, li {background-color: chartreuse !important;   
    border: 6px solid grey !important;}  

}
*/ 


/* This regular expression does not work when used alone */
@-moz-document 
    regexp("https:\/\/discussions\.apple\.com\/thread\/\d*\?decorator=print&displayFullThread=true.*") 
    {  
       html, body, h1, li {background-color: chartreuse !important;   
        border: 6px solid grey !important;}  

    }

1 个答案:

答案 0 :(得分:0)

在这种情况下,你必须使用两个反斜杠,一个用于转义代码中字符串中的反斜杠本身,另一个用于正则表达式本身。您应该使用的字符串是:

"https://discussions\\.apple\\.com/thread/\\d*\\?decorator=print&displayFullThread=true.*"

通过在代码中使用上述内容,您将获得以下正则表达式:

"https://discussions\.apple\.com/thread/\d*\?decorator=print&displayFullThread=true.*"

另外,请注意,你不必向前冲去斜线。

阅读The Backslash Plague(尽管这是一个Python参考,它应该提供有关该主题的一般信息)