【正则】请问该如何拼写该条件的正则?

起因:
在公共样式里定义了大量的不规范类名,
现在想要寻找这些使用了该类型的地方,并修改

当前使用的:class="[\{\[]?[\w\s.=]*primary[\w\s.=]*[\}\]]?"
仅匹配到一项,剩下的并没有匹配到

样例

该正则应该如何修改呢或者应该是怎样的呢?
主要目的是寻找(修改的话应该不可能一起可以修改的吧?)

阅读 919
3 个回答
class=["'].*?\bprimary\b.*?["']

问了一下某人工智能,两轮诱导纠正之后,给出的答案是:

/class=("|".* )primary("| (.+)?")/

试了一下目标在头、在尾、在中间都能匹配,对“my-primary”这种干扰也能正确排除,没有钻更多牛角尖,但应该是够用了。
颤抖吧人类!接下来的末位淘汰目标必是不如 AI 的了🤐
如果连表达式引入的类名一并考虑的话,正则式做不到的,只能最大化模糊匹配然后人工剔除错误匹配:

/class=.*primary/
class="[^"{\[\]]*(primary|[\[{][^\]\}]*primary[^\]\}]*[\]\}]*)[^"]*"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题