Regular Expression(正規表現) Part17 (343レス)
Regular Expression(正規表現) Part17 http://mevius.5ch.net/test/read.cgi/tech/1702684760/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
310: デフォルトの名無しさん [sage] 2025/12/07(日) 16:01:19.36 ID:W5rWTuKC 使ってるAPI関係の話みたいだよ ------- Bregexp.dll for SAKURA 互換 API BMatch(), BMatchEx(), BSplit() /pattern1/options m/pattern1/options BSubst(), BSubstEx() s/pattern1/pattern2/options BTrans() tr/pattern3/pattern4/options y/pattern3/pattern4/options (Ver.3 以降) options k - 文字を日本語(Shift_JIS)として扱うが、Unicode API 利用時は無視される(Bregexp.dll 独自拡張) ------- hintヒント 正規表現を検索、置換、Grepで利用する場合、「/」をエスケープしたり、「/」で囲ったりする必要はありません。 正規表現キーワードで使う場合は、/text\/css/k のように「/」をエスケープするか m#text/css#k のように書く必要があります。 hint追加情報 検索、置換、Grepでは、正規表現ライブラリに渡す文字列を以下のようにしています。[DELIMITER]は、0xffのバイナリ表記とします。 Unicode版では U+FFFF です。 検索時のオプションは「m[DELIMITER]Pattern[DELIMITER]km」です。 置換時のオプションは「s[DELIMITER]PatternBefore[DELIMITER]PatternAfter[DELIMITER]km」です。 デリミタ相当の文字を検索・置換するにはエスケープが必要です。 また大文字小文字を区別しない場合は最後に「i」が付加されます。 すべて置換で「すべて置換は置換の繰返し」がOFFの場合は「g」が付加されます。 (mオプションが付いていますが、改行をまたいだ検索はできません。) http://mevius.5ch.net/test/read.cgi/tech/1702684760/310
311: デフォルトの名無しさん [sage] 2025/12/07(日) 16:06:20.28 ID:W5rWTuKC サクラエディタにはUnicode版もあるらしいが、そこでも //k が使われるのかは不明 まあこれをそのままユーザーに指定させるってのもどうかなってのは思う http://mevius.5ch.net/test/read.cgi/tech/1702684760/311
313: デフォルトの名無しさん [sage] 2025/12/07(日) 20:01:45.27 ID:W5rWTuKC >>312 上のAPIの説明はbregonig.dll(v4.20)に付属の説明書からの抜き出しだよ 4. API 4.1. Bregexp.dll 互換 API (ANSI/Shift_JIS) 以下の Bregexp.dll 互換の API が使用できます。 •BMatch() •BSubst() •BTrans() •BSplit() •BRegfree() •BRegexpVersion() また、以下の Bregexp.dll for SAKURA 互換の API も使用できます。 •BMatchEx() •BSubstEx() pattern2, options の部分は bregonig.dll が自前で処理を行っており、Onigmo や Bregexp.dll あるいは Perl とは多少仕様が異なっています。(詳細は後述) Bregexp.dll に比べて、BMatch(), BSubst(), BSplit() で s, x, a, u, R が使えるように拡張されています。なお、x は pattern1 にのみ効果があり、pattern2 には効果はありません。 Unicode API 利用時は k オプションは無視されます。漢字は常に使用可能です。 5.4. Bregexp.dll との非互換点 •オプションで k (日本語モード) を指定すると、\w は [A-Za-z0-9_] だけでなく、2バイト文字(漢字等)にもマッチするようになります。一方、Bregexp.dll では、オプション k の有無に関わらず、\w は [A-Za-z0-9_] と同義です。なお、Perl 5.8 でも、検索対象が Unicode 文字列(utf8 フラグがオン)ならば、\w は多バイト文字にもマッチします。Bregexp.dll と同じ動作にするには、オプション a を指定してください。 •Onigmo 自体は各種文字エンコーディングに対応していますが、bregonig.dll は Bregexp.dll との互換性のため、従来 API では、ASCII と Shift_JIS 以外の文字エンコーディングは使用できません。(新 API を使うことで、Ver.2 以降では UTF-16LE、Ver.3 以降では UTF-8 も使えます。) http://mevius.5ch.net/test/read.cgi/tech/1702684760/313
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.619s*