是否可以使用记事本++的查找/替换功能执行以下操作?
我有一个文本文件,其中我想用破折号替换文本TAGS="*"的引号之间的空格。
示例:
TAGS="tag1,tag2,tag 3,tag4,tag 5"应成为:
TAGS="tag1,tag2,tag-3,tag4,tag-5"到目前为止,我可以找到我想使用的文本:
FIND WHAT: TAGS="*"但是怎么用破折号来代替空格呢?
以下是文件中的三行实际内容。我需要在TAGS="*“的引号之间找到空格,并将这些空格替换为虚线:
<DT><A HREF="http://www.kundaliniyoga.org/pranayam.html" ADD_DATE="1452557806" LAST_VISIT="1452557806" LAST_MODIFIED="1452557806" TAGS="kundalini,yoga,fire breath,breathing,breath of fire">Kundalini Yoga - Pranayama - Breathing Techniques</A>
<DT><A HREF="http://www.foodrepublic.com/2015/05/19/40-ways-world-makes-awesome-hot-dogs" ADD_DATE="1432954394" LAST_VISIT="1432954394" LAST_MODIFIED="1432954394" TAGS="recipe,cooking,hot dog">40 Ways The World Makes Awesome Hot Dogs | Food Republic</A>
<DT><A HREF="http://www.thecomputermanual.com/fix-your-boot-with-bcdedit-bootsect-bcdboot-winre-and-winpe/" ADD_DATE="1431836110" LAST_VISIT="1431836110" LAST_MODIFIED="1431836110" TAGS="windows stuff,bcdboot,bcdsect,repair,boot">Fix Windows boot, Fix your Boot sequence with BcdEdit, BootSect, BCDboot, WINRE,...</A>在上面的行中,有3个TAGS="*“实例,我在这里提取了这些实例,以便于查看:
TAGS="kundalini,yoga,fire breath,breathing,breath of fire"
TAGS="recipe,cooking,hot dog"
TAGS="windows stuff,bcdboot,bcdsect,repair,boot"在查找/替换之后,应该如下所示:
TAGS="kundalini,yoga,fire-breath,breathing,breath-of-fire"
TAGS="recipe,cooking,hot-dog"
TAGS="windows-stuff,bcdboot,bcdsect,repair,boot"发布于 2017-01-31 08:20:37
使用以下正则表达式:
找到什么:(?:\G(?!^)|\bTAGS=")[^\s"]*\K\s+
替换为:-
详细信息
(?:\G(?!^)|\bTAGS=") -查找上一次成功匹配的结束(\G(?!^))或[^\s"]* - 0+字符,而不是空格和"\K -匹配重置操作符丢弃到目前为止匹配的文本\s+ - 1+白空间请参见下面设置的屏幕截图:

发布于 2017-01-31 07:56:00
在regex模式中使用以下查找/替换模式,并执行“替换所有”以覆盖整个文档(或所需的选择)。注意,我不想检查TAGS="...",前提是文档中的任何地方都没有表单tag123或tag 123的字符串。
查找:
tag\s+(\d*)替换:
tag-$1输入:
tag1,tag2,tag 3,tag4,tag 5输出:
tag1,tag2,tag-3,tag4,tag-5https://stackoverflow.com/questions/41952330
复制相似问题