繁体   English   中英

Java和ECMA-262(AS,JS)中正则表达式之间的差异

[英]Differences between regular expressions in Java and ECMA-262 (AS, JS)

我需要将Java正则表达式转换为Actionscript正则表达式。

显然没有任何预制转换器,所以我试图自己写一个。 有没有列出所有差异的资源?

我知道regular-expressions.info,但似乎并没有全面的差异列表。

谢谢

我不知道任何现有的转换器,但如果你的目标是专门的ActionScript而不是任何ECMA-262实现,那么这项工作可能比你预期的要容易。 AS3由PCRE驱动,与PHP的preg_函数相同,因此它支持lookbehind,原子组和占有量词,与Java相同。 除了JS的ignore-casemultiline之外,它还支持Java的dotall扩展模式。 它也支持内联修饰符语法( (?imsx) )。

PCRE的Unicode支持比Java更好,但不幸的是,我不认为它包含在ActionScript中。 Unicode功能似乎与字符编码明确相关,即PCRE中的UTF-8; 我相信ActionScript根据ECMA-262使用UTF-16。 无论如何,它的Unicode支持似乎很小,与JavaScript相同。

这是一个细分:

java.util.regex                                  RegExp.prototype
Character class set operations
(?#…) comment patterns
Named capture
The /y (sticky) modifier
The /x (extended) modifier
\u10000+ Codepoints
Possessive quantifiers
Quotation
Exception Handling
Linebreak matcher

参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM