web-dev-qa-db-ja.com

NotePad ++-^を検索できないのはなぜですか?

TextPad から離れようとしていますが、^$などの正規表現を置き換えることができません。私は間違いなく正規表現ボックスをチェックしました。

何が悪いのですか?

新しいラインの始まりを見つけようとしています。 TextPadでは、「^」が検索され、正規表現が有効になっていることを確認します。 Notepad ++ではそれはできません。 「見つかりませんでした」とだけ書かれています。

18
Jack Kada

^と$は両方とも正規表現ではanchorsです。つまり、リテラル文字^$を置き換える場合は、通常、先頭にバックスラッシュ(\^、および\$)。

行の最初の文字を見つけるには、^.を使用します

開始行アンカー(^)は幅がゼロの一致なので、と組み合わせます。行の先頭にある任意の文字を検索します。

たぶん、あなたが実際にやろうとしていることを説明できますか?

26
John Weldon

これらは、先頭(^)と行末($)を表す特殊文字だからです。 \でエスケープしてください。

例:

行の先頭で「Cat」と一致させます。

^Cat

行末の「猫」と一致します。

Cat$

「猫」を行の唯一のものとして一致させます。

^Cat$

行内の「$ 100」に一致します。

\$100 

ここ は、Notepad ++内の正規表現マッチングの詳細へのリンクです。

8
RC.

私自身も同じ問題を抱えていました。いくつかの試行錯誤の後、次の操作を行うことで同じことを達成できます。

検索:^(。)

置き換え:[挿入したい文字列]\ 1

これにより、行の最初の文字を見つけてタグ付けし、新しい文字列を挿入して、タグ付き文字をその後ろに配置します。

たとえば、各行の先頭に単一引用符を挿入する必要がありました。

検索:^(。)

置き換え:'\ 1

行の終わりについても、次のようにして同じことができます。

検索:(。)$

置き換え:\ 1 * [追加する文字列] *

6
Willy

これを行う方法は次のとおりです...

前:

$_GET['id']; $_GET['nick'];

後:

htmlentities($_GET['id']); htmlentities($_GET['nick']);

そう。 findフィールドに以下を入力します。

$_GET(.*])

replaceフィールドに以下を入力します:

htmlentities($_GET\1)
1
Lue

わかった。

  • アルバート
  • ルーカス
  • Rober_Klein
  • フィッシャー

文字またはテキストの後を削除

@(。*)$

文字またはテキストの前を削除

^(。*)@

dot = any character
asterisk = zero or more times
1
ezequias

この問題は修正されたようです。

Notepad ++ v6.9.2(Windows 7で実行)では、両方を取得します^(行の先頭)および$(行末)で動作します。

0
Elias Mossholm