You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

正则新手求教:如何匹配含任意正整数的piece square-[数值] bn表达式?

问题根源

  • CSS原生属性选择器不支持正则语法,你写的.[0-9].[0-9]属于正则规则,放到class^=匹配中只会被当成普通字符串匹配,无法识别为数字通配逻辑。
  • ^=是前缀完全匹配规则,无法同时满足你「前缀是piece square-、后缀是 bp」的两端匹配需求。
  • 如果你匹配的元素类名顺序不固定,^=前缀匹配还会因为第一个类不是piece直接失效。

可行解决方法

最优原生CSS写法(全浏览器兼容,无需依赖Stylus扩展能力)

用CSS原生的类包含匹配规则组合实现,逻辑准确无误伤:

/* ~= 匹配包含独立对应类名的元素,*= 匹配包含指定字符串的属性值 */
div[class~="piece"][class*="square-"][class~="bp"],
div [style*="bp.png"] {
    background-image: url("https://images.chesscomfiles.com/chess-themes/pieces/club/150/bp.png")!important;
}

Stylus专属正则写法(更简洁,仅Stylus样式管理器生效)

如果只在Stylus中使用,可以直接用它扩展支持的正则匹配语法:

div[class*=/^piece square-\d+ bp/],
div [style*="bp.png"] {
    background-image: url("https://images.chesscomfiles.com/chess-themes/pieces/club/150/bp.png")!important;
}

内容的提问来源于stack exchange,提问作者Frankie 'Moodurian' Kam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:42:03