gpt4 book ai didi

regex - 如何在 sublime text 的 Title Case 中更改所有 title 属性的值

转载 作者:行者123 更新时间:2023-12-01 11:42:06 26 4
gpt4 key购买 nike

我的项目中有 500 个 HTML 文件,其中大小写和引号( "' )在 <title> 中所有页面的属性都不同,请参见下面的几个示例

<button title="Next" id="next"> Next</button>
<button title="next"> Next </buton>
<button title=""please go back">Check</button>

我想更改Title Case中的所有标题属性

<button title="Next" id="next"> Next</button>
<button title="Next"> Next </buton>
<button title="Please Go Back">Check</button>#

我已尝试查找和替换 - 已启用正则表达式和区分大小写的按钮

Find What: title=(".*")\s
Replace With: title="\u$"

但是没有成功。请告诉我我做错了什么?

已更新:还想删除额外的 ' "看#

最佳答案

为了进一步说明我的评论,首先是 .* 的问题“贪婪”而不是“懒惰”,这意味着它尽可能匹配(即您的示例中的 Next"> Next</button><button title="Next)。

快速修复是使用“惰性”.*相反,又名 .*? (我添加了 ? 以指示可能存在空间,因为您的示例中没有空间):

title=(".*?")\s?

要提高性能,您可以使用否定类:

title=("[^"]+")\s?

在哪里[^"]+匹配除 " 以外的任何字符.

为了应对不同的报价,您可以使用:

title=("[^"]+"|'[^']+')\s?

这基本上意味着 "[^"]+"'[^']+'括号内的部分。


对于替换和连续引号问题:

title=(?:"+([^"]+)"+|'+([^']+)'+)\s?

替换为:

title="\u$1$2"

唯一的问题是最后一行是<button title="Please go back">Check</button> , 如果这不是问题...

编辑:\G确实有效。使用第二个替换:

(?:(?<=title=")|(?<!^)\G)[^\s"]+\s?

替换为:

\u$0

关于regex - 如何在 sublime text 的 Title Case 中更改所有 title 属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19220855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com