[過去ログ]
正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g (989レス)
正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g http://tamae.5ch.net/test/read.cgi/php/1069245758/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
740: 733 [sage] 04/10/01 15:12:51 ID:??? あっ!やっぱ間違えた。。。空文字にマッチしてしまう。。 http://tamae.5ch.net/test/read.cgi/php/1069245758/740
741: nobodyさん [sage] 04/10/01 15:14:01 ID:??? 放置しろ。 http://tamae.5ch.net/test/read.cgi/php/1069245758/741
742: nobodyさん [sage] 04/10/01 17:19:34 ID:??? /^-?(0|[1-9]\d*)(\.\d+)?$/ http://tamae.5ch.net/test/read.cgi/php/1069245758/742
743: 727 [sage] 04/10/01 21:36:43 ID:??? こんばんは。 いくつもありがとうございます。 >>733 .5のような表記は無しです。 試してみたところ>>729 >>742が目的にあった動作をするようなので使ってみます。 みんな良く調べて何が違うのが勉強してみます。 正規表現、便利だけど難しいですね http://tamae.5ch.net/test/read.cgi/php/1069245758/743
744: nobodyさん [sage] 04/10/02 16:22:06 ID:??? $mes = ereg_replace('([^[:graph:]])([[:alpha:].]{2,})([^[:graph:]])', '\1<a href="keyword.php?q=\2">\2</a>\3', ' ' . $mes); こうやって、URLの可能性がないアルファベットの連続をキーワードとしてリンクさせたいのですが、 これだとスペース置きにキーワードが並んだ場合、どちらかしか replace されません。 MSN Messenger など MSN と Messenger 両方にマッチさせたいのですが、 何か良い方法はありませんでしょうか。 http://tamae.5ch.net/test/read.cgi/php/1069245758/744
745: nobodyさん [sage] 04/10/03 02:24:24 ID:??? ereg_replace('([[:alpha:].]{2,})((?=[^[:graph:]])|$))', '<a href="keyword.php?q=\1">\1</a>', ' ' . $mes) とりあえず、これでいいと思う。 自分はURLを「http:」で始まる単語としたくて、 (?<!http:)([^\s]{2,}) でやってみたけど、 [^\s]が全部取っちゃうようでうまくいかなかったorz http://tamae.5ch.net/test/read.cgi/php/1069245758/745
746: nobodyさん [sage] 04/10/03 02:25:54 ID:??? スマソ。括弧を1つ取るの忘れた。 ×((?=[^[:graph:]])|$)) ○((?=[^[:graph:]])|$) http://tamae.5ch.net/test/read.cgi/php/1069245758/746
747: 744 [sage] 04/10/03 04:57:52 ID:??? >>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); よくわからないのですが、[:alpha:]を使うと漢字にマッチしたりして挙動が変になっていました。 うーん、まだまだ勉強が必要です。 http://tamae.5ch.net/test/read.cgi/php/1069245758/747
748: nobodyさん [sage] 04/10/03 05:14:58 ID:??? eregはPosix拡張、pregはPerl拡張。 http://tamae.5ch.net/test/read.cgi/php/1069245758/748
749: nobodyさん [sage] 04/10/03 05:29:07 ID:??? 正規表現ライブラリがちがううんだよ。PHPマニュアルにも書いてあるが、 例によって>>1の正規表現メモんとこ参照すると分かりやすい。 http://tamae.5ch.net/test/read.cgi/php/1069245758/749
750: nobodyさん [sage] 04/10/03 22:20:30 ID:??? あるシステムの独自タグをあつかっています。 <XXXX Name = Test1 number = 1 value1 = "テスト" value2 = "テスト\"ああ\"" value3="テスト3 \t test"> </XXXX> という具合に、<XXXX で始まるタグの中にかかれた各属性と値をそれぞれ分割したいのです。最初、Javaプログラムで頑張って書いていましたが、 へたれな自分のプログラムが長くなってしまいバグも所々に…。くせものが属性と値の表記で、valueというキーの値がaaaa としても、 value = aaaa の場合 value = "aaaa" の場合で異なる値にしたい(" がポイント) value=aaaa や、途中で改行やタブが入る、 value= aaaa といった場合もあります。 値の中に、ダブルクォーテーションが入る場合やスペースが入った場合を考慮してJavaプログラムで何とかしようと思ってましたがスパゲッティ状態です。 正規表現でエイヤっと属性名と値で分割させたいのですが、、、>>1のサンプルをあさってますが、もし、何か良いモノ知っていましたら教えてください。 http://tamae.5ch.net/test/read.cgi/php/1069245758/750
751: 750 [] 04/10/03 22:21:42 ID:au5XkXk9 ageときます。スマン http://tamae.5ch.net/test/read.cgi/php/1069245758/751
752: nobodyさん [sage] 04/10/04 01:59:41 ID:??? >>750 その独自タグの仕様をはっきりさせなければ誰もわからんよ。 「=」の隣にスペースが入っていたりダブルクォートでくくっていたり いなかったりしてるし。 http://tamae.5ch.net/test/read.cgi/php/1069245758/752
753: nobodyさん [sage] 04/10/04 02:00:16 ID:??? s/<XXXX[\n\s]+([^>]*)>(.|\n)*<\/XXXX>/$1/g; /(.+?)[\n\s]*=[\n\s]*("(\\"|[^"])+"|[^\s]+)(?:[\n\s]+|$)/; #$1=属性, $2=値 やっとできた・・・。 \"を含める方法とか、勉強になりました。 http://tamae.5ch.net/test/read.cgi/php/1069245758/753
754: 753 [sage] 04/10/04 02:10:49 ID:??? >>752 そうだ、 >value = aaaa の場合 >value = "aaaa" の場合で異なる値にしたい(" がポイント) これがどういう結果を望んでいるのか分からないままやってたw とりあえず、ダブルクォートは残す仕様にしておいたけど。 http://tamae.5ch.net/test/read.cgi/php/1069245758/754
755: 750 [] 04/10/04 07:43:16 ID:3m/jnQ5F ありがとう〜(;´д`) とりあえず、ためしてみます。。 >>752にあるように、= の両隣は、スペースが入ったり、入らなかったりします。厳密にはJavaでいうところのホワイトスペースを許可してて、タブとか全角スペースなどもありです。ここは許可しないことを改善してもらうつもりです。 あとで結果報告しますね。ありがとう〜 http://tamae.5ch.net/test/read.cgi/php/1069245758/755
756: nobodyさん [sage] 04/10/04 11:31:31 ID:??? 可能であれば、独自な形式でなくて、 みんなが使ってるフォーマット (XML ね) にしてもらうようにした方が良いと思う。 http://tamae.5ch.net/test/read.cgi/php/1069245758/756
757: nobodyさん [sage] 04/10/04 15:15:50 ID:??? 同感。あとちゃんとtokenizeすればスパゲッティにはならんでしょ、このくらい。 http://tamae.5ch.net/test/read.cgi/php/1069245758/757
758: nobodyさん [] 04/10/11 11:12:51 ID:ek9GJkPH 質問させてください。 EZwebの絵文字をShift_JISコードに変換する正規表現を書いたつもりなのですが、 ”♪”マークなど一部の絵文字以外の記号にマッチしてしまいます・・・。 (使用言語:PHP 4.3.3) $sjis='[\x81-\x9F\xE0-\xF7\xFA-\xFC][\x40-\x7E\x80-\xFC]|[\x00-\x7F]|[\xA1-\xDF]'; $text=preg_replace("/((?:$sjis)*)([\xf3-\xf7][\x40-\xfc])/e","'\\1['.bin2hex('\\2').']'",$text); EZweb絵文字だけにマッチさせるようにするには、どうのように直したら良いでしょうか? よろしくお願いします。 http://tamae.5ch.net/test/read.cgi/php/1069245758/758
759: nobodyさん [sage] 04/10/12 01:28:24 ID:??? (?:$sjis)*のところ、(?:$sjis)*?にしないと全部取っちゃうよ。 そこら辺は大丈夫? http://tamae.5ch.net/test/read.cgi/php/1069245758/759
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 230 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s