一部の正規表現でmatch()に不具合?

Forums » Web 全般 » その他 Web 開発者向けの話題

You need to be logged in to post in the forums. If you do not have an account, please sign up first.

7. November 2010, 18:54:39

Kurojitosan

Banned user

一部の正規表現でmatch()に不具合?

こんな感じのFirefoxで動作しているコードですが、Operaではyに値が入っていなかった。 \([^)]+\) この ( ) 内は漢字。
y=x.match(/\[\d+\/\d+\/\d+\([^)]+\) \d+:\d+\] \(\d+:\d+\)/ig);if(y){z=y[0];何かの処理}



System:IntelCore2Quad/WindowsVista/Opera11.01.1190en+Orion6.5b2 Project:OperaFix http://userscripts.org/scripts/show/86331

8. November 2010, 00:48:34

Kurojitosan

Banned user

参考
http://www.tohoho-web.com/js/regexp.htm#match
System:IntelCore2Quad/WindowsVista/Opera11.01.1190en+Orion6.5b2 Project:OperaFix http://userscripts.org/scripts/show/86331

11. November 2010, 03:38:20

usopion

うそぴょん/ε∂.∂з\

Posts: 503

参考とか言われても、いまさら正規表現の説明など示されても何の参考にもなりません。

そんなものより、 X の具体的な値とかあるいはコード全体を見せてもらわなければ何の検証もできません。
少なくとも私の環境ではその正規表現にマッチすべき文字列を適当に入れてテストしたところ正常に動作しました。
USOperaION/ε∂.∂з\
Opera の UI はこれで編集
わたしはここにいます

11. November 2010, 14:34:05 (edited)

Kurojitosan

Banned user

Originally posted by usopion:

少なくとも私の環境ではその正規表現にマッチすべき文字列を
適当に入れてテストしたところ正常に動作しました。


このEUC-JPのページでテストすると、どうでしょう。
http://search.zoome.jp/combine_tag?q=TimeLapse&q_afs=1
System:IntelCore2Quad/WindowsVista/Opera11.01.1190en+Orion6.5b2 Project:OperaFix http://userscripts.org/scripts/show/86331

11. November 2010, 15:06:34

usopion

うそぴょん/ε∂.∂з\

Posts: 503

どうでしょうとは何でしょう?
そのページで一体何をテストしろと言うのですか?
USOperaION/ε∂.∂з\
Opera の UI はこれで編集
わたしはここにいます

11. November 2010, 15:29:33

Kurojitosan

Banned user

Originally posted by usopion:

どうでしょうとは何でしょう?


x にソースを代入してテストしてみてください。
System:IntelCore2Quad/WindowsVista/Opera11.01.1190en+Orion6.5b2 Project:OperaFix http://userscripts.org/scripts/show/86331

11. November 2010, 15:52:36

usopion

うそぴょん/ε∂.∂з\

Posts: 503

fx.png
op.png
USOperaION/ε∂.∂з\
Opera の UI はこれで編集
わたしはここにいます

11. November 2010, 16:35:38 (edited)

Kurojitosan

Banned user

Originally posted by usopion:

fx.png
op.png


javascript:alert(document.body.innerHTML.match(/\[\d+\/\d+\/\d+\([^)]+\) \d+:\d+\] \(\d+:\d+\)/ig));

ダイレクトだと動作していますね(Operaは正常)
System:IntelCore2Quad/WindowsVista/Opera11.01.1190en+Orion6.5b2 Project:OperaFix http://userscripts.org/scripts/show/86331

11. November 2010, 16:05:41

usopion

うそぴょん/ε∂.∂з\

Posts: 503

つdocument.addEventListener('DOMContentLoaded',.....
USOperaION/ε∂.∂з\
Opera の UI はこれで編集
わたしはここにいます

11. November 2010, 16:35:20 (edited)

Kurojitosan

Banned user

javascript:y=document.body.innerHTML.match(/\[\d+\/\d+\/\d+\([^)]+\) \d+:\d+\] \(\d+:\d+\)/ig);if(y){z=y[0];alert(z)};

ダイレクトは便利ですねー。 このコードも正常のようです。 ・・・あとはUJSだと不具合が出るのかどうかですね。
System:IntelCore2Quad/WindowsVista/Opera11.01.1190en+Orion6.5b2 Project:OperaFix http://userscripts.org/scripts/show/86331

14. November 2010, 09:14:30

Kurojitosan

Banned user

メモリが確保できないとき?に起こりそうな不具合の参考
http://my.opera.com/japanese/forums/topic.dml?id=804642
System:IntelCore2Quad/WindowsVista/Opera11.01.1190en+Orion6.5b2 Project:OperaFix http://userscripts.org/scripts/show/86331

Forums » Web 全般 » その他 Web 開発者向けの話題