正则表达式,用于在一般字符串的末尾添加斜杠

时间:2010-10-12 20:04:07

标签: regex notepad++

我在记事本++中,我需要在结束前添加一个/右>在以下行中:

<meta name="description" content="*****">

上面的*****是我需要留下的一堆文本,并且它会在页面之间发生变化,因此我需要一些优于我通常的能力的查找/替换方法。我认为正则表达式是正确的方法。

4 个答案:

答案 0 :(得分:1)

这似乎对我有用(在NP ++中):

查找:(<meta name="description" [^>]+)>

替换为:\1/>

有一些警告,但它可以用于简单的搜索/替换,这听起来像你正在做的。我是否正确地假设您只在<meta>标签上执行此操作且属性为name="description"

编辑 - 使用全部替换按钮对其进行测试并从此处开始:

<meta name="description" content="ljfkdl">
<meta name="description" content="039814">
<meta name="description" content="lkjai983j">
<meta name="description" content="whak.dlai3#">
<meta name="description" content="ljfdal&&3lk">
<meta name="description" content="a b c ake87">
<meta name="description" content="">
<meta name="description" content="memememe">
<meta name="description" content="alkd3988aj38#!">

对此:

<meta name="description" content="ljfkdl"/>
<meta name="description" content="039814"/>
<meta name="description" content="lkjai983j"/>
<meta name="description" content="whak.dlai3#"/>
<meta name="description" content="ljfdal&&3lk"/>
<meta name="description" content="a b c ake87"/>
<meta name="description" content=""/>
<meta name="description" content="memememe"/>
<meta name="description" content="alkd3988aj38#!"/>

答案 1 :(得分:1)

基于这些假设:

  • 标签几乎都是格式良好的,除了缺少的/,即属性中没有原始>字符等。
  • name属性的值被忽略,因为所有<meta />标记都应自行关闭

查找

(<meta[^>]*)[^/]>

替换为:

\1 />

答案 2 :(得分:0)

虽然HTML和正则表达式通常不能很好地混合,但这似乎很简单。 (我假设您正在寻找所有元标记,而不关心其他内容。更具体的可能会有所帮助,但是:D)

<(meta[^>]+)>

将在<>之间找到内容,并将该内容作为子组返回。

根据Notepad ++表示法,您应该替换为以下内容:

<\1/>

(或者可能是$ 1而不是\ 1,或者完全不同的东西。再次,不知道Notepad ++想要什么。)

此正则表达式不会捕获>属于属性的情况,例如<fake-math-tag expression="4 > 2">,但可能对您的情况足够好。 (这是“不要混合不好”的地方。)

答案 3 :(得分:0)

搜索文字:<(meta.*)>
替换为:<\1/>