正規表現道場 Part2 (393レス)
1-

128
(1): 124 2014/02/06(木)18:00 ID:??? AAS
たくさんレスいただきましてありがとうございます
お礼が遅れまして申し訳ありません

127様の \.([a-z\d]{1,4}"IMG\b) で無事検索できることができました
しかし置き換えでは マッチした文字列が ..photo.$1 に置き換わるだけで $1にマッチした語句が適応されません

検索結果
○○○○○○.abc" IMG が ○○○○○○..photo.$1 となります
希望では
○○○○○○.photo.abc" IMG となることです(単純に .拡張子 前に .photo を入れたい)

先の書き込みでの訂正がありました 申し訳ありません
検索したい文字列には " と IMG の間に半角スペースがありました
省3
129
(1): ◆QzqhRqBYxktP 2014/02/06(木)20:27 ID:??? AAS
>>128
ごめんなさい、こちらにも見落としがいくつかありました。
( Devasにはメジャーな正規表現エンジンが使われていると考えて作りましたが違ったようです )

・通常版 (上行=検索、下行=置換)
\.[a-zA-Z\d]{1,4}" ?IMG\b
.photo\0

・拡張子を小文字に変換する版 (例 .JPG → .jpg )
\.([a-zA-Z\d]{1,4})(" ?IMG\b)
.photo.\L\1\E\2

・ 「"」 と IMG の間のスペースがあっても無くてもスペース1個にする版
省5
130: 2014/02/06(木)22:22 ID:??? AAS
>>129
度々のレスありがとうございます

正規表現エンジンにもいろいろなものがあるとは知りませんでした
お手数をおかけいたしまして申し訳ありません

いくつものパターンを示してくださいまして 
重ねて感謝いたします

通常版にて理想の変換ができました
今回教えて頂いたような知識を深めて、もっと便利にPCを使えるようになりたいと思います

勉強になりました ありがとうございます m(_ _)m
131: 2014/02/09(日)02:41 ID:??? AAS
質問させてください。
phpのpreg_match関数でwebページから文字列を抽出したいと考えています。
以下を使用して抽出していますが、改行が含まれると抽出ができませんでした。

$text = '/value="(.*?)" id="latest"/';
preg_match($text, $source, $matches);
$word = $matches[1];

色々調べて$textを以下のようにしてみましたが、うまくいきませんでした。
$text = '/value="(.*?)" id="latest"/s';
$text = '/value="([\s\S]*?)" id="latest"/';
$text = '/value="((\n|.)*?)" id="latest"/';
省2
132: 2014/02/09(日)08:07 ID:J9pikab5(1/2) AAS
俺なら
/value="([^"]*)"\s+id="latest"/
133: ◆QzqhRqBYxktP 2014/02/09(日)17:20 ID:??? AAS
× ' '
○ " "

というオチ?PHPは触らないから分からない。
134: 2014/02/09(日)17:39 ID:J9pikab5(2/2) AAS
PHPなんか触らないから分からないけど両端のすらすらが余計とかなんかね
135: ◆QzqhRqBYxktP 2014/02/09(日)18:09 ID:??? AAS
ごめんなさい、PHPの解説サイト見たら ' ' でOKでした。
136: 2014/02/11(火)10:03 ID:??? AAS
PHPスレで聞いたほうが早いかも。原因が改行以外にある可能性も十分あるので
動かないサンプルコードをアップして見てもらえば確実に原因教えてもらえると思う。
137: 2014/02/11(火)13:41 ID:??? AAS
↑$source に入るHTMLファイルも見ないと原因が分からない可能性アリ。
138: ◆QzqhRqBYxktP 2014/02/13(木)23:18 ID:??? AAS
再帰と (?( ) yes|no) の組み合わせが楽しすぎる。もしかしたら宝の山かも。
マトリョーシカの中にダルマを入れられる感じ。
139: 2014/02/15(土)18:56 ID:??? AAS
正規表現メモ
外部リンク[html]:www.kt.rim.or.jp
「調整中」

気付いてもらえたのかそうでないのかいまいち分からんす。
このサイトはあんまアテにしないほうが良さそうだ。
140: ◆QzqhRqBYxktP 2014/02/16(日)14:59 ID:??? AAS
>>125 の疑問点

\K が分岐の先頭にあることで処理速度に遅れが出るかどうか調べる。
また、\K を使わない書き方とどちらが早いか調べる。
141: ◆QzqhRqBYxktP 2014/02/16(日)15:40 ID:??? AAS
比較対象追加 ( >>125 ) | (?=ABC) \K ABC
142
(1): ◆QzqhRqBYxktP 2014/02/16(日)20:56 ID:??? AAS
( >>125 ) | (?=ABC) \K ...

Perl6 正規表現 I
外部リンク[html]:dl.dropboxusercontent.com
143: ◆QzqhRqBYxktP 2014/02/17(月)00:27 ID:??? AAS
Perl6::Overview::Rule
外部リンク[pod]:search.cpan.org

[foo|bar]+

Perl6ではこれが正しい書き方になるらしい。初心者がハマりそう・・罠的な意味で。

先読み、戻り読みは書きにくくなった感が否めない。
文字クラスも加算、減算をしないときでも <> で囲う必要があるのはめんどくさい。

が、新しいオモチャとしては十分楽しめそう。ついでに英語も覚えてしまおう。
144
(1): ◆QzqhRqBYxktP 2014/02/22(土)00:25 ID:??? AAS
S05
外部リンク[html]:feather.perl6.nl
> Last Modified: 11 Feb 2014, Version: 174

A05
外部リンク[pod]:search.cpan.org
> Last Modified: 18 May 2006, Number: 5, Version: 7

perl6ではもはや正規表現ではないという意味を込めて 「regex」 と呼んでるらしい。
perl5の正規表現にあった 「ゴチャゴチャ感」 が綺麗に一掃されてる感がある。

:ratchet があるのは最高だなぁ。
145
(1): 2014/03/01(土)19:39 ID:n8n41uDi(1/2) AAS
2chスレ:applism
2chスレ:applism
この書込の方を正規表現でNGにしたいと思っています。

条件は
最初の行とは限らないが、「・」で初める行がある。何文字かの後、改行
その次の行は空の行
この2セットを正規表現で表すにはどうすればいいでしょうか?

.*?・.*?\r\n\r\n
としてみましたがダメでした。
146
(2): ◆QzqhRqBYxktP 2014/03/01(土)20:13 ID:??? AAS
>>145
2chブラウザ用でいいのかな?処理速度重視で作った。

(?:^|<br>)(?>\s*)・(?>[^<]*(?:(?!<br>).[^<]*)*)<br>(?>\s*)<br>
147: 2014/03/01(土)20:45 ID:n8n41uDi(2/2) AAS
>>146
素敵!
神!
すっきりしました!
テキストじゃなくhtmlに対して正規表現だったのですね、勉強になりました。
ありがとうございました!
1-
あと 246 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s