0

TextWrangler で正規表現を使用して検索と置換を試みています ( https://gist.github.com/ccstone/5385334http://www.barebones.com/products/textwrangler/textwranglerpower.html )

私はこのような行を持っています

56-84   29  STRINGOFLETTERS -2.54

「56-84」のダッシュをタブに置き換えたいので、

56    84    29  STRINGOFLETTERS -2.54

ただし、「-2.54」のダッシュを置き換えずに

両側の数字で囲まれたダッシュのみを具体的に削除するにはどうすればよいですか? 私の正規表現の知識は非常に少なく、見つけ[0-9]-[0-9]て置き換えようとしまし[0-9][0-9]たが、うまくいきませんでした。

4

3 に答える 3

2

あなたのリンクには、「PCRE エンジン (Perl 互換正規表現) は、BBEdit と TextWrangler が使用するものです」と書かれています。したがって、正規表現でルックアラウンドを使用できることを願っています。

正規表現を置き換えます:

(?<=\d)-(?=\d)

タブ ( ) に置き換えます\t

于 2014-02-28T16:11:00.060 に答える
0

実際に必要な数をキャプチャする必要があります。したがって、正規表現は次のようになります。

^([0-9])-([0-9])

ここでは、番号は行の先頭から始まると想定しています。そうでない場合は、削除できます^

あなたのリンクに基づいて、正規表現のフレーバーは PCRE であるため、後方参照は のよう\1に見え\2、置換パターンでは. したがって、置換パターンは次のようになります。

\1\t\2

ここで\1は、最初のグループ (つまり最初の番号) を\2参照し、2 番目のグループ (つまり 2 番目の番号) を参照します。

于 2014-02-28T16:11:21.293 に答える
0

プレーン テキストの場合は、TextWrangler が必要かどうかわかりません。unix の「sed」コマンドを使用できます。

$ sed 's/\d-\d/\d\d/g' a.txt > b.txt
于 2014-02-28T16:12:44.433 に答える