5

基本的に、私は古いWebアプリをマルチブラウザーに準拠するように更新しています。元のプログラマーが使用した場所のいたるところに-

document.all.element

「.all」はIEのみであり、IE4で導入されました。標準に準拠した「.getElementById」関数はIE5で導入されました。上記のステートメントのインスタンスを-に変更したいと思います。

document.getElementById("element")

特にVisualStudioの[検索と置換]ダイアログを使用して、この正規表現をどのように作成しますか?

4

4 に答える 4

4

Visual Studio 2010以前では、正規表現の構文は次のとおりです。

式の使用{ }にタグを付けるには、置換に使用する最初のタグを参照します\1

あなたの場合、あなたは見つける必要があります:

document\.all\.{[a-zA-Z0-9]+}

と置き換えます:

document.getElementById('\1')

Visual Studio 2012では、正規表現の構文が次のように変更されました。

document\.all\.([a-zA-Z0-9]+)
document.getElementById('$1')
于 2012-09-12T10:11:55.137 に答える
2

これがVisualStudio2012 RCを使用している私にとっての問題であるかどうかはわかりませんが、中かっこを使用すると何にも一致しませんでした。

私はfind式を使用することになりました-

document\.all\.([a-zA-Z0-9]+)

と交換

document.getElementById("$1")

「$1」は括弧で囲まれた式を指します。

助けてくれてありがとう。

于 2012-09-12T10:56:24.893 に答える
1

検索する

[.]all[.]{:i}

と置き換えます

.getElementById("\1")

ドットを囲む角かっこ.は、メタ文字として解釈されないようにするためのものです(\.代わりに使用できます)。は、識別子:iを表すVisualStudioのシンボルです。

\1置換文字列のは、最初のタグ付き式(つまり、式)を参照するため識別子{:i}は二重引用符で囲まれて「貼り付け」られます。

于 2012-09-12T10:12:55.743 に答える
0

正規表現は必要ないと思います。

テキスト置換ダイアログで置換document.all.elementするだけですdocument.getElementById

于 2012-09-12T10:09:37.353 に答える