html - 需要一个正则表达式来匹配多个类之一

标签 html css regex

我正在升级我所有的网站并重新设计它们,以便所有 URL 的默认为小写,这迫使我也将我所有的图像名称和路径更改为小写。我使用的正则表达式完成了这项工作。不幸的是,他们也将许多其他内容更改为小写。

例如,这是一个典型的 div 之前的样子:

<div class="Cool R P Wx500">

这就是其中一些现在的样子:

<div class="cool r p wx500">

我强调了一些,因为一些 div(和其他标签)被改变了,而另一些则没有。

所以我想找到一个可以帮助我搜索特定类的正则表达式 - 例如酷,R 或 Wx500。这有点棘手,因为 1) 我的类并不总是按特定顺序列出,有些类名由单个字母组成(例如 B = border 和 R = float to the right)。

所以我想我想做的是搜索包含类“Cool”的 div,然后搜索包含类“R”的 div。如果我能让我的搜索区分大小写,那也会很有帮助。例如,我可能需要搜索类 R 的 div - 但仅在将其更改为小写的情况下(例如 [div class="cool r"]

可以吗? Dreamweaver 有一个非常好的正则表达式实用程序,但据我所知,它不能从一系列中选择一个类。我在 Mac 上工作,Dreamweaver 和 TextWrangler 是我的主要文本编辑器。

最佳答案

您可以使用以下内容

(class=".*?\b)r(\b.*?")

而不是 r 使用您要搜索的类并替换为 $1new$2 其中 new 是新的类名你要。

解释:

  • .*? 非贪婪匹配任意字符。
  • \b 匹配单词边界(" 算作边界)。
  • () 组,第一部分在组 1 ($1),第二部分在组 2 ($2)

例如,将匹配以下内容:

<div class="r">
<div class="r cool p wx500">
<div class="cool r p wx500">
<div class="cool c wx300 r">

但是下面的不会被匹配到:

<div class="runcool c wx300">
<div class="uncool cr wrx300">
<div class="uncool c wx300r">
<div class="R">

关于html - 需要一个正则表达式来匹配多个类之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22980156/

相关文章:

javascript - 如何根据容器的某些尺寸限制将图像宽度设置为 100%?

javascript - 使用 Greasemonkey 脚本添加动态 div 层(覆盖)?

javascript - URL正则表达式由正则表达式好友传递,但Dart失败

c# - string.Replace() 搜索 string + ANY CHAR + string

html - 是否可以对 iframe 的内容进行硬编码?

html - Div 仍然有高度 :0px

python - 陷入异常循环

CSS 标签与输入字段垂直对齐

ruby - 如何用 ruby 切割绳子

html - Firefox 中不显示旋转木马的图像