【问题标题】:How to change all title attribute's value in Title Case in sublime text如何在崇高的文本中更改标题案例中所有标题属性的值
【发布时间】:2013-10-13 18:59:28
【问题描述】:

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

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

我想更改Title Case

中的所有title属性
<button title="Next" id="next"> Next</button>
<button title="Next"> Next </buton>
<button title="Please Go Back">Check</button>#

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

查找内容: title=(".*")\s
替换为: title="\u$"

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

更新:还想删除额外的' " 请参阅#

【问题讨论】:

  • 是不是太多的问题被你尝试过的东西取代了?如果是这样,请尝试使用[code]title=(".*?")\s[/code](注意.* 之后的?)这使得.* '懒惰',这意味着它会尽可能少地匹配直到下一个[\code]
  • @jerry 感谢您的快速回复,即使我正在编辑格式。 :)

标签: regex replace sublimetext3


【解决方案1】:

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

快速解决方法是使用“惰性”.* 代替,也就是 .*?(我添加了一个 ? 来表示可能存在空间,因为您的示例中没有空间):

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

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

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

其中[^"]+ 匹配除" 之外的任何字符。

为了应对不同的引号,你可以使用:

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

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


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

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

替换为:

title="\u$1$2"

唯一的问题是最后一行将是&lt;button title="Please go back"&gt;Check&lt;/button&gt;,如果这不是问题的话......

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

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

替换为:

\u$0

【讨论】:

  • @diEcho 我喜欢从错误开始并一点一点地修复 :) 除非正则表达式需要完全返工,否则你会得到很长的解释 xD 谢谢!
  • 这个title=""please go back"
  • 但它不区分标题。我在寻求崇高的 IDE 帮助
  • 你能给我举一个例子吗?我没有得到这个 title=("[^"]+")\s? 特别是 +(1 个或更多)
  • @diEcho title=("[^"]+")\s? 仅在标题中有一个单词并且用双引号括起来的情况下才有效。
【解决方案2】:
(?<=title=('|")).+?(?=('|"))

这应该为您提供可以使用的匹配 Next next please go back

如果你想提高你的下限,你可以使用匹配的索引在原始字符串中找到你的匹配..

或使用title=('|").+?(\1) 在您的 tekst 中查找任何标题属性,包括引号

【讨论】:

  • 不知道 ST3 支持向前看/向后看? :)
  • ('|")(\1) 会找到任何 "" 或 ''
  • 但它没有帮助。我的问题不完全是正则表达式
  • title=('|")(.+?)(\1) 并使用\u$2 来增加(.+?) 中的内容,这样可以吗?
猜你喜欢
  • 2017-04-28
  • 1970-01-01
  • 1970-01-01
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多