7

有人可以告诉我是否可以使用正则表达式将 url 转换为小写?

这是在一个 html img 标签内,所以我们可以通过标签找到 url。

这是我所拥有的一个例子

<img src="http://www.domain.com/dir/dir/ImageName.jpg" />

我需要在最后将图像名称小写。

<img src="http://www.domain.com/dir/dir/imagename.jpg" />

该文档包含更多 HTML,因此我不能简单地将整个文档小写。

4

3 回答 3

14

使用以下内容作为搜索词:

("http[^"]*")

并将其替换为:

\L\1
于 2013-06-12T19:39:05.230 回答
2

这个正则表达式应该可以找到带有大写字母的 URL:

(http.*[A-Z].*\.[a-zA-Z]{2,4})

请注意,您确实需要检查“匹配大小写”选项

在“替换为”下使用

\L\1

它是如何工作的

括号表示您要将找到的结果与它们之间的内容一起存储。在这种情况下,整个事情都存储在\1

然后,我们首先查找http后跟任何内容 ( .*) 直到大写字母[A-Z]。然后更多任何内容,直到一个句点后跟 2-4 个字母 ( \.[a-zA-Z]{2,4})

如果您还有其他问题,请发表评论。

于 2013-06-12T19:37:18.707 回答
0

对我来说,将链接中的大写字母转换为小写:

(http. [AZ].. [a-zA-Z]{2,4})

在免费的 Text Crawler(版本 3.0.3)中作为正则表达式在我的一个大文件中查找 2,238 个链接,“http[s]?://.+?”也是如此。

虽然(由 Grepwin 的 Stefan 提供)的模式:

((http|https)://([\w_-]+(?:(?:.[\w_-]+)+))([\w.,@?^=%&:/~+# -]*[\w@?^=%&/~+#-]))

其中包括括号 - 似乎找到更多 (3,2006)
href="http[s]?://.+?" 在 Text Crawler 中找到 3,0033 我没有尝试将 \L\1 转换为小写,因为这是程序中提供的一个选项,并且运行上面说它 3,0033 已更改,尽管它只更改了大小写(我希望!)。

我还发现 HTML Tags Change To Uppercase or Lowercase 软件可以将链接中的大写字母转换为小写,但如果您想一次转换多个字母则需要 20 美元,而且速度非常慢或可能会锁定大文件。但是将链接中的大写字母转换为我使用它的文件中的小写似乎效果很好。

我不知道正则表达式(想象一下这是书面语言的世界!),但我希望将链接中的所有大写大写字母转换为小写字母,我搜索了很多试图找出如何做到这一点。

于 2021-12-06T14:19:15.440 回答