webdevqa.jp.net

Notepad ++ regexで3つの連続番号を検索

Notepad ++を使用してwidth = xxxのすべての出現箇所を見つけようとしています。これで、width = "xxx"に変更できます。

私が持っている限りでは、width = xのみを選択するwidth = [^\n]です

23
atwellpub

正確に3つの数値が必要な場合、以下はNotepad ++でテストされます。

width=\d\d\d[^\d]

要件をさらに読むと、タグ付け機能を使用できます。

Find what:    width=(\d\d\d)([^\d])
Replace with: width="\1"\2

ここで、正規表現の(n)括弧で囲まれた部分は、\ 1、\ 2、...\nとして(順番に)格納され、置換フィールドで参照できます。

正規表現エンジンとして、Notepad ++は貧弱です。 ここ は、サポートされているものの説明です。かなり基本的な。

30
spender

Notepad ++正規表現リスト を見ると、n文字に一致する{n}表記がサポートされていないようなので、\d{3}は機能しませんでした。

しかし、私のために機能し、ハッキングと見なされる可能性があるのは、\d\d\dでした。

Notepad ++でテストされ、機能しました。[検索]フィールドには(\d\d\d)を使用し、[置換]フィールドには"\1"\2を使用します。

10

Taoがコメントしたように、バージョン6の時点でNotepad ++はPCREをサポートしています。

だから今あなたは書くことができます:

\d{1,5}
8
Rauni Lillemets
/(width=)(\d+?)/gim

可変桁が必要な場合があるためです。いくつかの幅は、8、15、200、または何でもかまいません。

範囲を指定したい場合は、次のようにします。

/(width=)(\d{1,3)/gim

ここで、1は下限を表し、3は上限を表します。

式の両方の部分をグループ化したので、置き換えるときに、最初の部分を残して、吹き飛ばさないようにすることができます。

2
Robusto

試してみました:width=([0-9][0-9][0-9])width="\1"に置き換えて正常に動作しました...もちろん、これを行うのに最適な構文ではないかもしれませんが、動作します...

2
Gargauth

私はこれを試してみます:width=(\d{3,})、そして正規表現をチェックし、そして。は改行と一致します

ver:7.5.4で動作します

0
dKucharczyk