HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0818
チーズ正規表現のより良いパターンの書き方5解決


チーズ

リンク

2016/8/18(Thu) 01:39:42|NO.76627

現在ヤフーから天気情報を取得する機能があるツールを作成しています。
取得した天気情報から、必要な情報を抽出する為に、慣れない正規表現で悩んでいましたが、
なんとか自力で実装出来ました。
が、天気の取得の部分が不細工なのです。
もっとスマートにするには、どう修正すればいいのか教えて下さい。
これ以上は自力では無理そうです。
よろしくお願いします。



#include "mod_regexp.as" txt="【 17日(水) 津軽(青森) 】 曇後晴 - 24℃/23℃ - Yahoo!天気・災害" mes txt mes "【...】部分の抽出 → "+match(txt,"^[【].+?[】]",1,0) mes "天気の抽出 → "+replace( replace(match(txt,"】.*\\d+℃/\\d+℃",1,0),"\\s-\\s\\d+℃/\\d+℃","") ,"^】","") mes "気温の抽出 → "+match(txt,"\\d+℃/\\d+℃",1,0) mes "末尾のくそ文字の抽出 → "+match(txt,"\\s-\\sYahoo!天気・災害",1,0)



この記事に返信する


bear

リンク

2016/8/18(Thu) 05:08:46|NO.76628

例えばこんなのとか

#include "mod_regexp.as" txt="【 17日(水) 津軽(青森) 】 曇後晴 - 24℃/23℃ - Yahoo!天気・災害" matches result,txt,"(【.*?】) (\\S+) - (\\S+)(.*)" mes txt mes "【...】部分の抽出 → "+result(0,1) mes "天気の抽出 → "+result(0,2) mes "気温の抽出 → "+result(0,3) mes "末尾のくそ文字の抽出 → "+result(0,4)



チーズ

リンク

2016/8/19(Fri) 02:43:25|NO.76644

回答ありがとうございます!
想定以上のレベルの回答です!感激です!凄すぎッス!

調べた限りでは、このモジュールの内部で使われているVBScriptのCOMオブジェクトは、
後読み出来ない仕様なんだとか。
なので、実現できる表現が限られてるのかな?・・・と思っていました。

自分が本来書きたかった感じの正規表現なので嬉しいです!
こんなのが書きたかったんですよ!

ベストアンサーです!



チーズ

リンク

2016/8/19(Fri) 02:50:05|NO.76645

bearさんにとってはこんなレベルは朝飯前程度なのですか?

正直、今の自分には、bearさんのご教示下さった正規表現のパターンは、少々難解でして。

覚える気さえあれば、この位のレベルはすぐになれますか?
それとも、実は結構ハイレベルな感じでしょうか?

正規表現って奥が深そうです。



チーズ

リンク

2016/8/19(Fri) 02:53:25|NO.76646

解決です!



bear

リンク

2016/8/19(Fri) 05:15:34|NO.76648

> 覚える気さえあれば、この位のレベルはすぐになれますか?
たぶん
>それとも、実は結構ハイレベルな感じでしょうか?
ものすごく普通なレベルだと思います。



ONION software Copyright 1997-2023(c) All rights reserved.