Regex 升华文本3-带驼峰大小写的片段-删除或转换特殊字符
我正在更新一些优秀的文本片段,以帮助自动化一些页面开发,但我遇到了一些障碍 对于此代码段,我当前正在尝试获取度量字符串(基于alt文本),以执行以下操作:Regex 升华文本3-带驼峰大小写的片段-删除或转换特殊字符,regex,sublimetext3,camelcasing,sublimetext-snippet,Regex,Sublimetext3,Camelcasing,Sublimetext Snippet,我正在更新一些优秀的文本片段,以帮助自动化一些页面开发,但我遇到了一些障碍 对于此代码段,我当前正在尝试获取度量字符串(基于alt文本),以执行以下操作: <snippet> <content><![CDATA[ <div class="div-block"> <!-- Set A --> <div class="place_10 start"> <
<snippet>
<content><![CDATA[
<div class="div-block">
<!-- Set A -->
<div class="place_10 start">
<a href="LinkGoesHere" main_fp_tx="PLACE-_-AH-_-${1:0}_${4:year}_${6/[^a-z0-9]+//ig}">
<img src="http://images/sv/800/set${2:##}_${3:####}_${4:year}_img${5:#}?\$P_CONTENT\$" alt="${6:ImageAltText}" />
</a>
</div>
</div>]]></content>
<!-- Optional: Tab trigger to activate the snippet -->
<tabTrigger>IMGT</tabTrigger>
<!-- Optional: Scope the tab trigger will be active in -->
</snippet>
当前,当我键入时,这是一个内容示例。特殊字符示例:20%&&% 注册商标®
进入ImageAltText
字段,以下是度量字符串中显示的内容:
<div class="div-block">
<!-- Set A -->
<div class="place_10 start">
<a href="LinkGoesHere" main_fp_tx="PLACE-_-AH-_-0_year_ThisisanexampleofcontentSpecialcharacterexamples20amp37registeredtrademarkreg">
<img src="http://images/sv/800/set##_####_year_img#?$P_CONTENT$" alt="This is an example of content. Special character examples: 20% & & % registered trademark ®" />
</a>
</div>
</div>
以下是我想让它做的:
- 它需要采用驼峰式大小写,这意味着每个单词的每个字母都需要大写
- 某些符号需要翻译成一个单词。因此,例如,“%”需要表示“百分比”-和“&”(和号),应该表示“和”
- HTML实体名称不应出现。例如,“®”不应出现在度量中。现在它显示了“注册”这个词。因此,基本上任何介于“&”和“;”之间的内容都不应该出现,也不应该出现“&”和“;”部分。有道理?虽然这是它变得困难的地方-&也不应该出现-或者至少它可以说“和”
这是一个内容示例特殊字符示例20AMP37 RegisteredTradeMarkreg
我想让它看起来像什么:这是一个内容特殊字符示例,例如20%和注册商标
我尝试过组合函数,并在某种程度上使其工作,但不是完全工作
所以我希望你们中的一些优秀开发人员可能知道实现这一点的方法。借用一下:
下面的代码段将使您在键入时,这是一个内容示例。特殊字符示例:20%&&% 注册商标®
在alt
img
属性中,它将在a
main\u fp\u tx
属性中显示为:PLACE-\uUah-\uU0\u year\u这是内容特殊字符示例20%和注册商标
:
<snippet>
<content><![CDATA[
<div class="div-block">
<!-- Set A -->
<div class="place_10 start">
<a href="LinkGoesHere" main_fp_tx="PLACE-_-AH-_-${1:0}_${4:year}_${6/(&)|(&[^; ]+;)|(&)|(\b\w)|(%)|(\W)/(?1And:)(?2:)(?3And:)(?4\u\4:)(?5Percent:)(?6:)/g}">
<img src="http://images/sv/800/set${2:##}_${3:####}_${4:year}_img${5:#}?\$P_CONTENT\$" alt="${6:ImageAltText}" />
</a>
</div>
</div>]]></content>
<!-- Optional: Tab trigger to activate the snippet -->
<tabTrigger>IMGT</tabTrigger>
<!-- Optional: Scope the tab trigger will be active in -->
</snippet>
(&;)
将符号和HTML实体匹配到捕获组1中<代码>(?1和:)如果捕获组(1)匹配,则将其替换为和
。如果不匹配,什么也不做(&[^;]+;)
匹配HTML实体<代码>(?2:)如果捕获组(2)匹配,则将其替换为零。如果不匹配,什么也不做(&)
裸符号和<代码>(?3和:)如果捕获组(3)匹配,则将其替换为和
。如果不匹配,什么也不做(\b\w)
单词的第一个字母<代码>(?4\u\4:)如果捕获组(4)匹配,请将第一个字母替换为其大写等效字母。如果不匹配,什么也不做(%)
裸百分比<代码>(?5%:)如果捕获组(5)匹配,则将其替换为百分比
。如果不匹配,什么也不做(\W)
非单词(a-z、0-9等)字符,包括空格<代码>(?6:)如果捕获组(6)匹配,则将其替换为零。如果不匹配,什么也不做
全局修饰符-即不要在第一次匹配时停止。我删除了/g
-不区分大小写的修饰符,因为我的正则表达式中不需要它I
有关替换语法的更多信息,请参见我的朋友,你是个天才。我现在明白了为什么我以前的尝试没有成功——至少可以这么说。另外,对字符串中每个条件的作用进行解释是非常棒的。太好了,先生@Hinukan,你的努力是个好的开始!:)我刚刚意识到,我最初错过了您的一项要求—转换
&
到和
-我现在编辑了我的答案以包括这一点(同时仍然删除其他HTML实体,并且仍然将裸&
转换为和
):)太棒了-我非常感谢,先生!
"ThisisanexampleofcontentSpecialcharacterexamples20amp37registeredtrademarkreg"
<snippet>
<content><![CDATA[
<div class="div-block">
<!-- Set A -->
<div class="place_10 start">
<a href="LinkGoesHere" main_fp_tx="PLACE-_-AH-_-${1:0}_${4:year}_${6/(&)|(&[^; ]+;)|(&)|(\b\w)|(%)|(\W)/(?1And:)(?2:)(?3And:)(?4\u\4:)(?5Percent:)(?6:)/g}">
<img src="http://images/sv/800/set${2:##}_${3:####}_${4:year}_img${5:#}?\$P_CONTENT\$" alt="${6:ImageAltText}" />
</a>
</div>
</div>]]></content>
<!-- Optional: Tab trigger to activate the snippet -->
<tabTrigger>IMGT</tabTrigger>
<!-- Optional: Scope the tab trigger will be active in -->
</snippet>
/(&)|(&[^; ]+;)|(&)|(\b\w)|(%)|(\W)/(?1And:)(?2:)(?3And:)(?4\u\4:)(?5Percent:)(?6:)/g