2011-06-22 13 views
5

Potrzebuję konwertować wyrażeń regularnych Java w wyrażenia regularne ActionScript.Różnice między wyrażeniami regularnymi w języku Java i ECMA-262 (AS, JS)

Najwyraźniej nie ma żadnych gotowych konwerterów, więc staram się je napisać samemu. Czy istnieje jakiś zasób, który wymieniałby wszystkie różnice?

Jestem świadomy regularnego-expressions.info, ale nie wydaje się, że istnieje pełna lista różnic.

Dzięki

Odpowiedz

7

Nie znam żadnego istniejącego konwertera, ale jeśli twoim celem jest konkretnie ActionScript, a nie tylko jakakolwiek implementacja ECMA-262, praca może być łatwiejsza niż się spodziewałeś. AS3 jest zasilany przez PCRE, tak samo jak funkcje PHP preg_, więc obsługuje lookbehind, grupy atomowe i kwantyzatory dzierżawcze, tak samo jak Java. Obsługuje również Java dotall i rozszerzony tryby oprócz JS na ignore-case i multiline. Obsługuje również składnię wbudowanego modyfikatora ((?imsx)).

Obsługa kodu Unicode w PCRE jest lepsza niż w języku Java, ale niestety nie uważam, że zawiera się w ActionScript. Wydaje się, że funkcjonalność Unicode jest wyraźnie powiązana z kodowaniem znaków, którym jest UTF-8 w PCRE; Uważam, że ActionScript używa UTF-16 zgodnie z ECMA-262. W każdym razie obsługa Unicode wydaje się minimalna, tak samo jak obsługa JavaScript.

1

Oto podział:

 
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 

Referencje

Powiązane problemy