我是一个正则表达的noobie,似乎无法绕过它。事情是,我没有时间,因为我在时钟,需要做其他事情。我希望得到一个直接的答案,并解释它是如何工作的(如果可能的话)。
我有什么:
<li id=\"B1031.001\"><a href=\"#\">Bolted shear tab gravity connections</a></li>
我需要什么:
<li id=\"B1031.001\"><a href=\"#\">B1031.001 - Bolted shear tab gravity connections</a></li>
基本上,我需要获取'id'属性的值,并在它前面添加标签的文本。我希望有一种方法可以在Notepad ++中使用正则表达式来加快处理速度。
感谢您的阅读, 帕特里克
答案 0 :(得分:1)
你可以这样做:
search: <li id=\\"([^"]+)\\"><a href=\\"#\\">\K
replace: $1 - (<- there is a trailing space)
\K
从匹配结果中删除左侧匹配的所有内容。换句话说,左边匹配的所有内容都不会被替换。唯一被替换的是>
之后的空字符串(来自a
标记)。 (搜索模式的目标只是捕获id值并到达插入位置。)
([^"]+)
捕获组1中id属性的内容。([^"]
所有不是双引号,+
一次或多次)
$1
指的是此捕获组的内容。
答案 1 :(得分:0)
在Notepad ++中,您可以搜索:
<li id=\\[\"](.*?)[\"]><a href=\\"#\\">
并将其替换为:
<li id=\"$1\"><a href=\"#\">$1 -
基本上它会替换整个String,但用$ 1代替括号内的正则表达式匹配的内容。