私はthis questionを見てきました。経験から、どの言語も正規表現の異なる方言をサポートしているようです。私はこの問題が長い間起こっていたと考えているので、誰かは何かしたいと思っているに違いない。同じ正規表現をさまざまなプログラミング言語で使用するにはどうすればよいですか?
私は、JavaScript、Ruby、Javaを含むかなり大きなプロジェクトを持っており、それらのすべてが同じ正規表現に触れなければなりません。私たちはJavaを「公式」RE通訳者として選びました。これは、他の2つの言語がREを評価する必要があるときはいつも、それをJavaプログラムに何とか渡す必要があることを意味します。
REの方言を選んで、少なくともすべての言語から半基本的に呼び出すことができれば、私たちにとって大きな前進となります。これは可能ですか?すでにやっているのですか?私たちはPCREを見て、それはという技術的にはJavaとRubyからのネイティブバインディングを使って呼び出すことが可能ですが(JSは寒いところですが)、実際に誰かを見つけられませんでした。私たちは一人ですか?
ETA:私は言及しませんでしたが、このシステムはユーザが正規表現を適用しているということです。 (はい、私はこれがsecurity issueなどであることを理解していますが、それは信頼された帰属ユーザによる社内使用のためです)私は確かに避けるために "これをやってはいけない"私はそれが最善の解決策ではないことを願っています。
ああ、ユーザ指定の正規表現。 ) – BoltClock
(誰かが気にしている場合に備えて、私たちが使用していたストップギャップを掲示したかったのですが、私はまだもっと良いことを聞きたいと思っています)Java正規表現を選びました。 RubyがJRubyで実行されている場合、Rubyコードからこれらをネイティブに実行できます。私たちの目的のために、それは十分です。また、RESTfulなサービスとして、基本的にテストデータとの正規表現を実行するJavaサーブレットを作成しました。これはJavaScriptの終わりを処理しますが、それはあまり美しいものではありません: -/ – Coderer