[スレッド全体]

[349] Re2:ヘルプのコメント(rev.1135) 
2007/9/30 (日) 10:08:13 K.Takata

> > ▼[HLP000006.html]
> > 正規表現の違いについて(別途確認します.)

続いて bregonig.dll について。

▼Bregexp.dll との非互換点
・\w は2バイト文字も含む。
  何度も書いていますが、\w は [A-Za-z0-9_] に加え、2バイト文字も含みます。
  これに応じて、\W, \b, \B の動作も変更になります。
・[ ] の中に [ を書くときは必ずエスケープが必要。
  文字集合の中で文字集合や積演算が使えるようになる代わりに、
  [ そのものを書くときは必ず \[ と書かなければならなくなりました。
・\c\ の動作が異なる。
  Bregexp.dll では、\c\ は Ctrl+\ を意味していますが、bregonig.dll では、
  \c の次の \ はエスケープとして解釈されます。Ctrl+\ を指定するには \c\\
  とする必要があります。(Perl の仕様と異なるため、変更の可能性があります。)
・置換で \nnn の動作が少し異なる。
  Perl の動作に近づけてあります。


▼機能拡張点1
bregonig.dllで検索に使える機能拡張点には以下のものがあります。

▽エスケープシーケンス
\x{HHHH}           拡張十六進数表現

\z                 文字列末尾

\p{property-name}  キャラクタプロパティ
\p{^property-name} キャラクタプロパティ(否定)
\P{property-name}  キャラクタプロパティ(否定)

\k<name>, \k'name'     名前指定後方参照
\k<name+n>, \k<name-n> ネストレベル付き後方参照
\k'name+n', \k'name-n' ネストレベル付き後方参照

\g<name>, \g'name'     名前指定部分式呼出し
\g<n>, \g'n'           番号指定部分式呼出し

▽文字集合
[ ] の中に以下のものが指定可能です。

[...]   文字集合内文字集合
..&&..  積演算
POSIXブラケット ([:xxxxx:], 否定 [:^xxxxx:])

▽拡張式集合
(?imsx-imsx)    孤立オプション(オプションの否定が可能になった。)
(imsx-imsx:式)  式オプション
(?<=式)         戻り読み
(?<!式)         否定戻り読み
(?>式)          原子的式集合

(?<name>式), (?'name'式)  名前付き捕獲式集合

▽量指定子
bregonig.dll Ver.2.00 からは、強欲な量指定子が使えるようになります。
?+, *+, ++, {n,m}+, {n,}+, {n}+


▼機能拡張点2
bregonig.dllで置換に使える機能拡張点には以下のものがあります。

\x{HHHH}  拡張十六進数表現

${n}      (安全な)番号指定参照
$+        最後にマッチした部分文字列

$+{name}, $-{name}[n]  名前指定参照(Perl 5.10 互換、推奨)
\k<name>, \k'name'     名前指定参照(鬼車準拠)
${name}                名前指定参照(独自拡張、暫定仕様のため非推奨)

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81