5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

完全漢字対応正規表現ライブラリ「モナー」

1 :名無しさん@#+*/%:2001/01/09(火) 08:43
「モナー」は完全に漢字を取り扱うことのできる Standard C++用の正規表現ライブラリです。
ASCII用の正規表現ライブラリの修正版ではなく、完全にゼロから漢字の処理を前提として設計しています。
現在はLinux/FreeBSDなどのGNU環境で使用可能です。
Vine Linuxなど、システムが「wchar_t」をUNCODEで実装している場合には UNICODEが使用できます。

心ゆくまでXMLやCGIの処理において完全漢字対応の正規表現処理の世界を堪能してください。

http://www.fuel.co.jp/~bull/monner/doc/index.html


2 :デフォルトの名無しさん:2001/01/09(火) 09:42
wXXXXを使わずに作ることは出来ませんか?
wXXXXってまだ全然標準じゃない気がする。


3 :名無しさん@#+*/%:2001/01/09(火) 09:50
typedef basic_string<long> NONE_wstring;
でたぶんすぐできるけど。
つーかVisual C++なんかではもうオッケーなんで
他のプローガーのSTL使用商用インテルOEMコンパイラは
当然サポートすると思うし、標準になりつつあるよ。
gccもちょっと直せばすぐ使えるし。



4 :デフォルトの名無しさん:2001/01/09(火) 18:06
ライブラリ名にひねりがなさすぎる

5 :デフォルトの名無しさん:2001/01/09(火) 18:07
C版がほしいよー。これ、ライセンスは?

6 :デフォルトの名無しさん:2001/01/09(火) 18:21
なぜ正規表現のライブラリ名がモナーなんだろう・・・
ライブラリ自体は良いと思うが、
名前をなんとかしてくれ

7 :名無しさん@#+*/%:2001/01/09(火) 18:50
>C版がほしいよー。これ、ライセンスは?
gcc用のはフリー。
Windowsの商用は似た仕様の別物としてバイナリ配布です。
C版も考えてます。
>ライブラリ名にひねりがなさすぎる
これは前座。本命はDFAバージョンだから執着してないの。



8 :デフォルトの名無しさん:2001/01/09(火) 19:07
>本命はDFAバージョンだから執着してないの
DFA と Boyer-Moore を使った日本語regexpライブラリとしては
rexp があるけど、これと比べてどうですか?

9 :名無しさん@#+*/%:2001/01/09(火) 19:53
egrep系じゃなくてlex系だよ。
インタープリターやDBのロジックをいじらず、
速度を上げつつワイドにするフロントエンドの
ためにある。
僕のにはブレイクスルーがあるんだ。


10 :デフォルトの名無しさん:2001/01/11(木) 11:50
この程度の機能のものなら、並のプログラマなら
1人日で書けると思うけど…

DFA で back-reference を実現するのって難しいよ?
大丈夫?


11 :名無しさん@#+*/%:2001/01/11(木) 12:11
一人日でも2人日でもお好きなように。
そもそもlex系にback-referenceは必要ないです。
n通り照合したらアクション全部呼ばれるんですかね。




12 :デフォルトの名無しさん:2001/01/11(木) 21:12
オレは1日では難しいとおもう。
あと lex系と egrep系って用語もわかんないです。
探索アルゴリズムの話ですか? パターンの表記の話ですか?

13 :デフォルトの名無しさん:2001/01/12(金) 09:15
>>12
おれも、理論だけ知ってて作れる気になってる人か、
すでに作ったことがある人のどっちかだと思った
(そういうのは「1日でつくれる」とは言わないと思う)。
後者は明らかに挙動の話でしょう。


14 :名無しさん@#+*/%:2001/01/12(金) 09:55
前者、および使用方法。



15 :10:2001/01/12(金) 10:15
実際に作ったことがあっての発言です。>1人日

「モナー」のページを見て、すごく素人っぽいと
感じて「がんばって作ったんだろうけど、この程度
のものをブレイクスルーなんて言うのは恥ずかしい
なあ」と思った次第です。lex っぽい使い方を想定
しているようだけど、そんな限定された使い方しか
できないなら、なおさらブレイクスルーとは言い難い。

ああいった基本的な正規表現をサポートするライブラリ
を作るのはアルゴリズムの教科書でも見ながらやれば
簡単にできることです。本当に大変なのは、Perl や
Ruby の正規表現と同程度の機能をサポートして、
現実的な速度で動かすようにすること。wide char ベース
で Perl と同等の正規表現が使えるライブラリだったら、
自分も欲しいぞ。


16 :名無しさん@#+*/%:2001/01/12(金) 10:18
15<<
全然流れを読んでいない。
なんでワイドなlexが出回ってないのか
理由を考えたことないだろ?


17 :名無しさん@お腹いっぱい。:2001/01/12(金) 10:32
>>15
君の作ったものを公開してください。


18 :名無しさん@#+*/%:2001/01/12(金) 10:36
<<17
あ、あれは恒例です。2ちゃん名物の煽りです。


19 :13:2001/01/12(金) 10:48
まあ、正直おれも、でっちあげでいいなら
1日で作れると思ったけどね。

20 :13:2001/01/12(金) 10:51
ブレイクスルーに関しては、
1はあそこにあるものをブレイクスルーと言ったんじゃ
ないんじゃないか? 文脈上。


21 :デフォルトの名無しさん:2001/01/12(金) 10:56
http://www.sra.co.jp/people/katsu/grep/ohpcontents.html

どうせならegrep系の正規表現ライブラリキボーン

22 :名無しさん@#+*/%:2001/01/12(金) 10:57
<<19
機能の不足といっても、主なものは
グループ化演算子の追加ぐらいだけど、
内部形式の調整と仮想マシンのipの操作、
あとnullableの判定の三箇所だけど、
でっち上げてみる?
逆方向サーチは多分10行以内で終わります。


23 :13:2001/01/12(金) 11:01
そいでさ、wcharだと表がでかくなるじゃん。
今のマシンならわざわざ表つくらんでNFAでstd::mapでも使えば
できんじゃないかと思って途中まで作った覚えがあるけど、仕事が忙しくなって
途中でほっぽってしまった。実際作ったらスピードはどうなるんだろう。
いまだとむしろメモリの方が安いかな?


24 :13:2001/01/12(金) 11:03
意味不明
結局、なにをでっちあげろっていってるの?

25 :名無しさん@#+*/%:2001/01/12(金) 11:05
<<23
いや、格納方法の工夫じゃなくもっと美しいやりかた。
すでに公表してるんだけど、閾値を使ったアルゴリズム。
だからスピードでもサイズでも圧勝。
なんでかっていうとワイドだと重要状態数が半分。


26 :13:2001/01/12(金) 11:11
ふーん、その辺でなんか考えたんだ。
なんとなくわかった。

あと、誤解されてそうだけど、オレは君のソース読んでないよ。
さらに、基本的には「ちゃんとやったら1日じゃ無理だろ」派だよ。
「でっちあげる」ってのは、君のページに書いてあった仕様を
だいたい適当に満たして細かいこと考えないで作ったら、ってことだけど、
そんなんやる気ないし。


27 :名無しさん@#+*/%:2001/01/12(金) 11:12
<<24
あれ一日で作れるんなら
21のキボンヌの解決は多分100行ぐらいで解決できるはずだヨ。
ただCで書くと物量的にでっかいし、ポインター地獄だと思う
から一日では無理。


28 :10:2001/01/12(金) 12:43
>>16
うん、考えたことないっす。
需要が少ないからかな?

wide char 対応で、DFA で素直に実現できる範囲の表現しか
使えないライブラリがあっても、それがどんなに速くても
あんまり需要がないと思うのですよ。lex 的な使い方が
そんなに重要だとは思えない。このへんが作者さんと私の
認識の違いなんだろうけど。

ともかく、現状で「ブレイクスルー」とか書いてるのは見てて
恥ずかしすぎるから、こうやってちょっかい出してるわけです。

>>22
アンカー系(^ $ \b \B \w \W など)もないね。これも、便利だけど
DFA だと実現が難しいものの1つです。

マルチバイトの正規表現マッチングは実現方法によっては特許に抵触
することもあるし、便利なものであれば wide char のライブラリの
需要はあると思いますよ。


29 :名無しさん@#+*/%:2001/01/12(金) 12:56
lexだとライブラリにはなんない。
^$これは一番上の処理だけ。
\b\B\w\Wはパーサ作る上では必要ないと思う。
DFAによるパターンマッチング処理は
画像認識や音声認識など今後重要な分野だと思うよ。
もちろん、正規表現がどうのこうのでなく
アルゴリズムの部分でだけど。


30 :名無しさん@お腹いっぱい。:2001/01/12(金) 13:51
ま、ネーミングは受けねらいが強いが、モノはなかなかいいんじゃ
ないの、コンパクトだし。いいと思いますよ、パチパチ
たまには他人をたたえましょうね>みなさん。


31 :12:2001/01/12(金) 15:19
いつのまにか話についていけないスレになっている…みんな勉強家だなあ。

32 :10:2001/01/12(金) 17:07
>>29
画像や音声の処理に DFA は使い物にならんすよ。
こういう分野は、DP マッチングを使うことが多いのかな。


33 :デフォルトの名無しさん:2001/01/16(火) 23:25
興味はあってもライブラリの評価って難しいですよね。
有名でないものを自分でコンパイルして調べるのも面倒というか勇気がいります。
このライブラリを使った簡単なプログラムを公開しないと評価しづらいです。
このライブラリを使った簡易grepを作ってみてはどうでしょうか。
それとともlex系なので作れないんでしょうか。

34 :デフォルトの名無しさん:2001/01/17(水) 00:26
昔,量子数つきのマッチングをDFAでうまく表現できなくて挫折したな。

35 :デフォルトの名無しさん:2001/01/17(水) 17:48
> 2000/01/16 批判を受けて多機能化路線に変更。大幅な改修作業開始。

そこら辺りの正規表現ライブラリと大して変わらなくなるに一票。

36 :名無しさん@#+*/% :2001/01/17(水) 20:37
35に一理あり。
かなり安定してから出すから良しとして。
マターリいきます。


9 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)