Cod*_*rer 16 javascript ruby java regex pcre
我已经看到了这个问题,而且我从经验中知道,每种语言似乎都支持不同的正则表达方言.我认为这个问题已存在很长时间了,所以有人一定想对此做些什么.
我有一个非常大的项目涉及JavaScript,Ruby和Java,所有这些都必须触及相同的正则表达式.我们选择Java作为我们的"官方"RE解释器,这意味着每当其他两种语言需要评估RE时,他们必须以某种方式将它传递给Java程序,并且这开始增加了很多开销.
如果我可以选择任何 RE方言并至少从所有语言中半原生地调用它,那对我们来说这将是一个巨大的进步.这可能吗?它已经完成了吗?我们查看了PCRE,从技术上讲,它可以通过Java和Ruby的本机绑定来调用它(虽然它让JS在寒冷中离开),但我还没有发现任何人真正这样做.我们一个人吗?
ETA:我没有提到的一个问题是这个系统应用了用户提供的正则表达式.(是的,我知道这是一个安全问题等,但它是供受信任的,归属用户在内部使用的.)我当然建议建立一个"不要这样做"的功能列表,以避免,但我希望这不是最好的解决方案.
Fil*_*efp 11
您在帖子中隐含提到的方言并没有太大的不同,有些东西是由一个而不是由其他人支持的,但除非您正在编写实际专门针对其中一个方言的正则表达式,否则这通常不会导致任何问题有问题.
您可以在以下链接中查看表中的方言之间的差异:
它们之间的主要区别在于正则表达式的更"高级"特征.如果您不使用这些,您将进入安全区.
由于python和java都有可用于执行本机javascript的模块,你可以说所有表达式都应该为javascript编写,然后让未来的开发人员使用他们可用的模块,以确保regexp run总是以完全相同的方式运行.
虽然我只是记录你的应用程序,说所用的三种语言都需要支持所使用的正则表达式,然后将它们引导到一个表(例如之前链接的表),说它们应该查找可以使用的内容.
..或者你可以填写你自己的清单/表格.
归档时间: |
|
查看次数: |
1065 次 |
最近记录: |