[過去ログ] 正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g (989レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
730: 04/10/01 14:12 ID:??? AAS
>>729
数字の読み方としてはそれもありだが、正規表現的にはコレで十分
/-?[0-9]+(\.?[0-9]+)?/
8進数マッチするけどいいんだよね
731: 04/10/01 14:13 ID:??? AAS
コピペしたらおんなじミスしたw
/-?[0-9]+(\.[0-9]+)?/
732: 04/10/01 14:19 ID:FcpwUMKG(1) AAS
-
733(4): 04/10/01 14:56 ID:??? AAS
aaaaa0.1aaaaa にマッチするよ
.5 とかもあるだろ?
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の正規表現メモんとこ参照すると分かりやすい。
上下前次1-新書関写板覧索設栞歴
あと 240 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s