0

Dreamweaver で置換を行うための正規表現を書きたいと思います。<abbr>html のタグの正規表現が必要です。

たとえば、私のページには次のテキストが表示されます。

Photo: NASA 

私はそれがなりたい:

Photo: <abbr title="National Aeronautics and Space Administration">NASA</abbr> 

<abbr>HTML 内の「NASA​​」という単語のいくつかのインスタンスは、すでにタグで囲まれていることに注意してください。その場合は、追加の<abbr>タグを配置しないでください。

4

3 に答える 3

1

検索する:NASA

と置換する:

<abbr title="National Aeronautics and Space Administration">NASA</abbr>

次に、次を検索します。

<abbr title="National Aeronautics and Space Administration"><abbr title="National Aeronautics and Space Administration">NASA</abbr></abbr>

と置換する:

<abbr title="National Aeronautics and Space Administration">NASA</abbr>

多田!=)

于 2012-11-27T20:26:22.947 に答える
0

私は後読みを省略しました。Dreamweaver がサポートする正規表現のタイプがわかりません。

次の正規表現を使用してみてください。

NASA(?!( *</abbr>)|(\.\w+)|("))

次のような NASA のインスタンスには一致しません。

  • NASA</abbr></abbr>
  • a とその他の文字が続き.ます。たとえば、nasa.gov は無効と見なされます。
  • たとえば、 test.gov //nasa/ は無効と見なされます。
  • 無効"です。
  • 正規表現は、次のように引用されている場合、NASA と一致します。

    "This NASA is surrounded by quotes"
    
  • しかし、それが引用符で囲まれた唯一のものである場合はそうではありません:

    "NASA"
    
  • . . . ここで傾向を確認できます。必要に応じて「または」ステートメントを追加してください。

次の文字列でテストしました。

この文は NASA で終わります。この正規表現は NASA では機能しますが、nasa.gov/test/nasa/page.html などの URL では機能しません。<abbr> タグで囲まれているため、<abbr>NASA</abbr> では機能しません。「この NASA は引用符で囲まれています」ですが、この「NASA​​」のようにフォーマットされていないため一致します。

次に、その正規表現を使用して検索を実行し、次のものに置き換えることができます。

<abbr title="National Aeronautics and Space Administration">NASA</abbr>

注: 引用符は、回避できない制限であるか、簡単に回避する方法がわかりません。多くのドキュメントに対してこれを行う必要がある場合は、ある種のスクリプト言語 (Python など) を使用し、1 つの大きな正規表現を避けて論理ステートメントに分割することをお勧めしますが、それはまったく別の問題です。

頑張ってください!

于 2012-07-23T19:22:27.910 に答える
0

後読みがサポートされている場合、これは非常に簡単です。

探す:

(?<!>)NASA

交換:

<abbr title="National Aeronautics and Space Administration">NASA</abbr> 

NASAこれにより、接頭辞が付けられていないエントリが検索されます>。したがって、一致しますNASAが、一致し>NASAません。

于 2012-07-23T19:24:14.560 に答える