我有几个文件中有两个<body>
标签(无论是故意的还是偶然的)。我希望找到<body>
标记的第一个仅,并附加其他HTML代码。但第二次出现不应受到影响。我正在使用TextWrangler。我正在使用的正则表达式现在替换了两个匹配项而不是第一个。
文字:
<body someattribute=...>
existing content
<body onUnload=...>
RegEx我正在使用:
Find: (\<body.*\>)
Replace with:
\n\1
appended HTML code
目前的结果:
<body someattribute=...>
appended HTML code
existing content
<body onUnload=...>
appended HTML code
所以它添加了我的附加代码两次。我只想让它发生在第一个<body...>
。
答案 0 :(得分:3)
正则表达式:
(?s)(<body.*?>)(.*)
替换:
\1\nappended content\n\2
说明:
(?s)
制作了。人物匹配新线。没有这个,。字符将匹配所有字符,直到它命中新的字符。(<body.*?>)
找到第一个&#34;身体&#34;并捕获为组1(\ 1)。(.*)
查找第一个&#34; body&#34;之后的所有内容,并将其捕获为第2组(\ 2)。
在Notepad ++中测试