[過去ログ] 正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g (989レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
734: 04/10/01 15:02 ID:??? AAS
なんか初心者が・・・
735: 04/10/01 15:03 ID:??? AAS
>>733
反例は正規表現でお願いします。
736: 04/10/01 15:08 ID:??? AAS
.5 みたいな表記はステでいいんじゃないの?
>>727が判断することだけど。
# Perlスレでは確か「n進数や指数はどうよ?」でブームが終わったような。
737(1): 733 04/10/01 15:10 ID:??? AAS
これは?
/^-?\d*(?:\.?\d+)?$/
738: 04/10/01 15:11 ID:??? AAS
まあ井川のサインボールでも見てリフレッシュしろよ
外部リンク[html]:2chart.fc2web.com
739: 04/10/01 15:12 ID:??? AAS
>>737
・・・・・・・・・。
740: 733 04/10/01 15:12 ID:??? AAS
あっ!やっぱ間違えた。。。空文字にマッチしてしまう。。
741: 04/10/01 15:14 ID:??? AAS
放置しろ。
742(1): 04/10/01 17:19 ID:??? AAS
/^-?(0|[1-9]\d*)(\.\d+)?$/
743: 727 04/10/01 21:36 ID:??? AAS
こんばんは。
いくつもありがとうございます。
>>733
.5のような表記は無しです。
試してみたところ>>729 >>742が目的にあった動作をするようなので使ってみます。
みんな良く調べて何が違うのが勉強してみます。
正規表現、便利だけど難しいですね
744(1): 04/10/02 16:22 ID:??? AAS
$mes = ereg_replace('([^[:graph:]])([[:alpha:].]{2,})([^[:graph:]])',
'\1<a href="keyword.php?q=\2">\2</a>\3', ' ' . $mes);
こうやって、URLの可能性がないアルファベットの連続をキーワードとしてリンクさせたいのですが、
これだとスペース置きにキーワードが並んだ場合、どちらかしか replace されません。
MSN Messenger など MSN と Messenger 両方にマッチさせたいのですが、
何か良い方法はありませんでしょうか。
745(1): 04/10/03 02:24 ID:??? AAS
ereg_replace('([[:alpha:].]{2,})((?=[^[:graph:]])|$))',
'<a href="keyword.php?q=\1">\1</a>', ' ' . $mes)
とりあえず、これでいいと思う。
自分はURLを「http:」で始まる単語としたくて、
(?<!http:)([^\s]{2,})
でやってみたけど、
[^\s]が全部取っちゃうようでうまくいかなかったorz
746(1): 04/10/03 02:25 ID:??? AAS
スマソ。括弧を1つ取るの忘れた。
×((?=[^[:graph:]])|$)) ○((?=[^[:graph:]])|$)
747: 744 04/10/03 04:57 ID:??? AAS
>>745-746
回答ありがとうございます。
XREA を利用しているので PHP の 4.3.8 を利用しているのですが、
Warning: ereg_replace(): REG_BADRPT が出てしまいました
(いろいろ試したみたところ、 (?= に反応しているようでした)。
preg mb_ereg でも同様のコードを試してみたところ (?= はパスするものの
ereg と違って [:graph:] に日本語がマッチしてしまうようです(こっちが正しいのかな?)。
745のコードを参考に mb_ereg で以下のように書き直してみたところなんとか動作しました。
$mes = mb_ereg_replace('([a-zA-Z.]{2,})((?=[^a-zA-Z0-9<>":;.,/=?+_&@\-])|$)',
'<a href="keyword.php?q=\1">\1</a>', $mes);
省2
748: 04/10/03 05:14 ID:??? AAS
eregはPosix拡張、pregはPerl拡張。
749: 04/10/03 05:29 ID:??? AAS
正規表現ライブラリがちがううんだよ。PHPマニュアルにも書いてあるが、
例によって>>1の正規表現メモんとこ参照すると分かりやすい。
750(3): 04/10/03 22:20 ID:??? AAS
あるシステムの独自タグをあつかっています。
<XXXX Name = Test1 number = 1 value1 = "テスト" value2 = "テスト\"ああ\"" value3="テスト3 \t test">
</XXXX>
という具合に、<XXXX で始まるタグの中にかかれた各属性と値をそれぞれ分割したいのです。最初、Javaプログラムで頑張って書いていましたが、
へたれな自分のプログラムが長くなってしまいバグも所々に…。くせものが属性と値の表記で、valueというキーの値がaaaa としても、
value = aaaa の場合
value = "aaaa" の場合で異なる値にしたい(" がポイント)
value=aaaa や、途中で改行やタブが入る、
value=
省4
751: 750 04/10/03 22:21 ID:au5XkXk9(1) AAS
ageときます。スマン
752(2): 04/10/04 01:59 ID:??? AAS
>>750
その独自タグの仕様をはっきりさせなければ誰もわからんよ。
「=」の隣にスペースが入っていたりダブルクォートでくくっていたり
いなかったりしてるし。
753(1): 04/10/04 02:00 ID:??? AAS
s/<XXXX[\n\s]+([^>]*)>(.|\n)*<\/XXXX>/$1/g;
/(.+?)[\n\s]*=[\n\s]*("(\\"|[^"])+"|[^\s]+)(?:[\n\s]+|$)/; #$1=属性, $2=値
やっとできた・・・。
\"を含める方法とか、勉強になりました。
上下前次1-新書関写板覧索設栞歴
あと 236 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s