Css 用于在Atom编辑器中替换整个代码库中的类名的正则表达式
这几天我一直在努力解决这个问题。如果这是重复的,我很抱歉,在搜索这个特定问题时,我无法找到我需要的内容 我有如下类名:Css 用于在Atom编辑器中替换整个代码库中的类名的正则表达式,css,regex,atom-editor,class-names,Css,Regex,Atom Editor,Class Names,这几天我一直在努力解决这个问题。如果这是重复的,我很抱歉,在搜索这个特定问题时,我无法找到我需要的内容 我有如下类名: class=“block underline primary” className=“文本中心块主暗” class=“灰色bg黑色内联块” 我想使用Atom的正则表达式搜索功能搜索整个代码库,并用新的类名替换每个实例。我需要以下规则: 确保字符串包含在class=”“或className=”“ 确保它只匹配准确的单词,因此在上面的示例中,它只匹配块,而不匹配内联块,如果我正在搜
class=“block underline primary”
className=“文本中心块主暗”
class=“灰色bg黑色内联块”
我想使用Atom的正则表达式搜索功能搜索整个代码库,并用新的类名替换每个实例。我需要以下规则:
class=”“
或className=”“
块
,而不匹配内联块
,如果我正在搜索的话className
或class
并且会返回我不想要的段落或类中不包含的内容:
(\s(块)\s)|(=“(块)\s)|(\s(块)”)
有没有办法一下子找到并替换正则表达式?我知道我可能不会得到所有东西,因为类可以通过编程方式添加,但我希望通过查找和替换尽可能多地获得,而不要把其他事情搞砸。非常感谢任何帮助或指导
编辑
我还需要说明类名,如下所示:
class=“块标题块已禁用”
因此,最后我只想针对
块
,其他什么都不想。您可以使用以下表达式:
(className|class)="(?:block|block\s([^"]*)|([^"]*)\sblock|([^"]*)\sblock(?=\s)([^"]*))"
从那里,如果要删除块
类,可以使用$1=“$2$3$4$5”
进行替换
但是,如果您想替换块
类,如标题所示,则可以使用$1=“$2$3$4$5替换类”
进行替换(其中字符串“替换类”是您正在替换块
类的类)
说明:
-捕获属性名(className | class)
-匹配属性值的开头=”
-启动非捕获组(?:
-匹配字符串block
block
-或|
-捕获字符串block\s([^”]*)
block
-或|
-捕获字符串([^“]*)\sblock
块之前的类
-或|
-捕获字符串([^“]*)\sblock(?=\s)([^“]*)
块周围的类
-非捕获组结束)
-匹配属性值的结束“
block title
或blockOverlay
这样的类名可以包含在我不想针对的类名中,请看这里:我只想将“block”的实例替换为周围没有任何内容。有可能吗?@ftntravis-我想我明白了。。。我补充了一个解释;这是…非常感谢!!!这似乎是完美的工作。我真的很感谢你的帮助。这将节省很多时间!:D