2008-08-14 7 views
8

誰かが使用するのが好きな良い正規表現ライブラリがありますか?あなたがオンラインで見つけた正規表現の大部分は、バグを含んでいるか、それともそれが何かの仕様を100%検証するための競争に変わるようなエッジケースに集中しています。もちろん、あなた自身で書くこともできますが、1時間ごとに請求しているときは、図書館があると便利です。あらかじめ構築された正規表現パターンまたはRegexライブラリ?

+0

この質問はあまりにも曖昧です。どのプラットフォーム/言語を参照していますか?あなたはまた、いくつかの他の応答のリードとして正規表現のエディタ/ツールを求めていますか? – spoulson

答えて

2

市場で最も優れたRegexツール(真剣に)以外に、RegexBuddyは私が知っている唯一のツールで、異なるRegexレンダリングエンジン間で切り替えることができます。

http://www.regexbuddy.com/

ここで情報を参照してください:

http://en.wikipedia.org/wiki/RegexBuddy

RegexBuddy独自の正規表現エンジンは、ソフトウェアは、多くの人気の正規表現の風味のルールや制限をエミュレートすることができます。

5

cに対するブースト、++

1

最近、私はPerlですべての私のテキストの構文解析を行います。私が別の言語で正規表現を必要とする場合、私はPCREと行くつもりです。

PCREライブラリが と同じ構文とセマンティクスを使用して、正規 表現パターンマッチングを実装する関数の集合であるPerlの  5. PCREは、独自のネイティブAPIだけでなく、その ラッパー関数のセットを持っていますPOSIX正規表現 APIに対応しています。商用の ソフトウェアをビルドする場合でも、PCREライブラリは無料です。

PCREはもともと ​​、 のために書かれましたが、現在は ApachePHPKDEPostfixAnalog、および Nmapを含め、多くの知名度の高いオープンソースプロジェクトで使用されています。 PCREはまた、よく知られているいくつかの市販製品、例えば Apple Safariのようなものを見つけました。 PCREを使用していくつかの他の興味深いプロジェクトが ChickenFeriteOnyxHypermailLeafnodeAskemos、 とWenlin含まれています。

PCREは成熟しており、多数のプロジェクトのサポートを受けています。 ApacheとAppleはどちらも、高品質にすることに関心があります。私は、他のREライブラリが機能性と品質の両方(あるいはおそらくどちらか)ですぐにそれを上回る可能性があるとは思っていません。

-1

e-texteditorはあなたがタイプしているものを探しています。'サンプルテキスト'をファイルに貼り付けるだけで、検索フィールドに正規表現を入力して、それがあなたの目の前で一致しているかどうかを確認することができます。

これらの「ビジュアル正規表現ビルダー」は、実際に正規表現を学習するための代替品ではありません。

0

一般的に要求される正規表現を提供する素敵なソースは、PerlのRegexp::Commonです。

現在(ホームページから)以下のためのパターンが用意されています

Regexp::Common::balanced 
Provides regexes for strings with balanced parenthesized delimiters. 

Regexp::Common::comment 
Provides regexes for comments of various languages (43 languages currently). 

Regexp::Common::delimited 
Provides regexes for delimited strings. 

Regexp::Common::lingua 
Provides regexes for palindromes. 

Regexp::Common::list 
Provides regexes for lists. 

Regexp::Common::net 
Provides regexes for IPv4 addresses and MAC addresses. 

Regexp::Common::number 
Provides regexes for numbers (integers and reals). 

Regexp::Common::profanity 
Provides regexes for profanity. 

Regexp::Common::whitespace 
Provides regexes for leading and trailing whitespace. 

Regexp::Common::zip 
Provides regexes for zip codes. 
関連する問題