PC用眼鏡【管理人も使ってますがマジで疲れません】 解約手数料0円【あしたでんき】 Yahoo 楽天 NTT-X Store

無料ホームページ 無料のクレジットカード 海外格安航空券 ふるさと納税 海外旅行保険が無料! 海外ホテル

告知欄です


■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 最新50
メモ3

716 : ◆/vmukiyuzw :08/06/04 19:04:14 ID:mjeajOrF
>>714
例えば

s#\n\..+?\n#\n#ig

ですが、

.p14{font-size:14px;}
.gray{color:#0033cc;}


のような繰り返しを削除したいのだと思いますが、意図に反して
1行目は削除できるけど2行目はできないと思います。
2つめの\nにマッチした時点で正規表現の検索のポインタは次の文字へと
進んでしまうので、2行目にマッチさせようとしてせっかく変換した\nは
読み飛ばされてしまうのです。

これに対処するには「先読み」の機能(?=文字列)を使うといいと思います。
マッチはするけどポインタは進めない、ような感じで処理されます。

s#\n\..+?(?=\n)##ig

だと意図した結果が得られると思います。

# 実をいうと先読み機能はオリジナルのbregexp.dllでは
# サポートされてないのではないかと思っていたのです。ドキュメントにも書いてませんし。
# でもやってみたらたまたまできちゃった、てな次第です

500KB
続きを読む

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail(省略可)

0ch BBS 2006-02-27