6

私はこのテキストを持っています:

£££££Ciao a tutti§§§§§,§§§§§2009§§§§§,§§§§§8§§§§§
£££££Il mio nome è Geltry§§§§§,§§§§§2009§§§§§,§§§§§6§§§§§
Bla bla bla§§§§§,§§§§§2010§§§§§,§§§§§7§§§§§
£££££Le amiche della sposa§§§§§,§§§§§2011§§§§§,§§§§§3§§§§§

TextCrawlerを使用すると、プレフィックスとして£££££がないすべての行が見つかります。

^((?!£££££).)*$

代わりに何を書くべきですか?

Reg Ex: ^((?!£££££).)*$
Replacement: ?  <-- what write here?

持つため:

£££££Ciao a tutti§§§§§,§§§§§2009§§§§§,§§§§§8§§§§§
£££££Il mio nome è Geltry§§§§§,§§§§§2009§§§§§,§§§§§6§§§§§
£££££Bla bla bla§§§§§,§§§§§2010§§§§§,§§§§§7§§§§§
£££££Le amiche della sposa§§§§§,§§§§§2011§§§§§,§§§§§3§§§§§
4

4 に答える 4

16

探す:

^(?!£££££)(.+)$

交換:

£££££$1

まず、正規表現が正しくありませんでした。どこ^((?!£££££).)*$にも含まれていない行に一致します。また、行全体をキャプチャする必要がある行の最後の文字のみをキャプチャします。£££££

私の正規表現は、で始まら ない行にのみ一致し£££££ます。グループ番号1の行全体をキャプチャし、(マニュアルによると)$1置換文字列のでキャプチャされたテキストを再挿入します。

また、をに変更し*て、+空の行と一致しないようにし、それらを。に置き換えました£££££

于 2012-08-11T10:54:42.570 に答える
3

何もキャプチャする必要はありません。行が£££££:で始まらない場合は挿入するだけです。

探す:^(?!£££££)

交換:£££££

一度に1行に一致しない場合は、複数行検索であることも確認する必要があります。

于 2012-08-11T19:47:47.560 に答える
1

()部分式を照合するために使用できます。

(部分式)
一致した部分式をキャプチャし、それにゼロベースの序数を割り当てます。

(?部分式)
一致した部分式を名前付きグループにキャプチャします。

したがって、正規表現は次のようになります。

(^(?:(?!£££££).)*$)
//or
(?<line>^(?:(?!£££££).)*$)

および交換用:

$番号
グループ番号と一致する部分文字列を置き換えます。

${名前}
名前付きグループ名と一致する部分文字列を置き換えます。

交換は次のようになります。

£££££$1
//or
£££££${line}
于 2012-08-11T09:50:48.343 に答える
-1

この正規表現の使用:^(((?!£££££).)*)$

代わりにこれを書いてください:£££££^(\1)$

\1ソースマッチになります。あなたの場合は行全体です。

于 2012-08-11T09:53:37.453 に答える