No.3
- 回答日時:
Perl 5.10からネストした括弧にも対応できる(?PARNO) 構文というのが導入されました。
今回はマッチが目的でなく削除できればいいとのことなので、他の回答の方法でもいいと思いますが、一応、紹介しておきます。
perldelta - perl 5.10.0 の新機能
http://fleur.hio.jp/perldoc/perl/5.10.0/pod/perl …
上記サイトに角括弧にマッチする例文が載っていますので、角括弧を全角丸括弧に変えればできると思います。
my $re_510 = qr/
( # start capture buffer 1
( # match an opening angle bracket
(?: # match one of:
(?> # don't backtrack over the inside of this group
[^()]+ # one or more non angle brackets
) # end non backtracking group
| # ... or ...
(?1) # recurse to bracket 1 and try it again
)* # 0 or more times.
) # match a closing angle bracket
) # end capture buffer one
/x;
$data =~ s/$re_510//g;
Perl 5.10以前のバージョンでも、(??{ code })という再帰の構文が用意されていました。
これを利用するならば下記サイトを参考にして以下のように書けます。
ただし、これは実験的に導入されたものと書かれてあります。
perlre - Perl 正規表現
http://fleur.hio.jp/perldoc/mix/pod/perlre.html# …
our $re = qr/
(
(?:
(?> [^()]+ )# Non-parens without backtracking
|
(??{ $re })# Group with matching parens
)*
)
/x;
$data =~ s/$re//g;
この回答へのお礼
お礼日時:2011/01/23 18:29
ありがとうございます。
便利な構文が用意されているのですね。
色々とほかにも使えそうなものを紹介していただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Visual Basic(VBA) 指定した文字から指定した文字のスペースまでを削除するVBAの構文について 6 2022/07/24 22:20
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) Activesheet.Pasteで困っています 1 2023/01/22 07:41
- Excel(エクセル) countif関数について質問 4 2022/06/14 12:11
- Visual Basic(VBA) vbaのループ処理について 6 2022/05/06 15:35
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
openした後、closeしないでプロ...
-
perlをバージョンアップしたら...
-
テキストファイルで提出とは?
-
Perlで時間の計算
-
アルファベットに付いて質問し...
-
perlでリテラル値はメモリにど...
-
TeraPadエディターの操作方法に...
-
Perlのエラーについてご教授く...
-
AI sisterとは、偽物の人ですか?
-
ファイルアイコンの左下に緑の□...
-
perlのrequireの動き方について...
-
perlのプログラミング 部分入れ...
-
Strawberry Perl for Windows ...
-
perl 初等プログラミングについて
-
arduino の割り込み処理について
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
bashスクリプト
-
perlプログラミング 空白行削除
-
perlで2次元配列をサブルーチ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perl 正規表現でエラー
-
perl tr での変数の使い方
-
型を調べる
-
perlのif文で・・・・・
-
if等判定文での定数、変数の記...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
例外処理のフローチャートの記...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
「デバイスは PRN を初期化でき...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
LCD ディスプレイを Raspberry ...
-
モジュールとは何ですか
-
ハマったので助けて~。Apache...
-
VBA This Workbookモジュール...
-
VBでグローバル変数を宣言するには
-
グラフのX,Y座標を取得したい
おすすめ情報