Package org.htmlunit.javascript.regexp
Class RegExpJsToJavaConverter
java.lang.Object
org.htmlunit.javascript.regexp.RegExpJsToJavaConverter
Translates JavaScript RegExp to Java RegExp.
// [...\b...] to [...\cH...] // [...[...] to [...\[...] // [^\\1] to . // back reference in character classes are simply ignored by browsers [...ab\5cd...] to [...abcd...] // characters escaped without need should be "un-escaped" Escape curly braces that are not used in an expression like "{n}", "{n,}" or "{n,m}" (where n and m are positive integers).
// [...\b...] to [...\cH...] // [...[...] to [...\[...] // [^\\1] to . // back reference in character classes are simply ignored by browsers [...ab\5cd...] to [...abcd...] // characters escaped without need should be "un-escaped" Escape curly braces that are not used in an expression like "{n}", "{n,}" or "{n,m}" (where n and m are positive integers).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classprivate static classHelper to encapsulate the transformations. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate booleanprivate booleanprivate List<RegExpJsToJavaConverter.Subexpresion> private RegExpJsToJavaConverter.Tape -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionRun the state machine on a given input string.private booleanhandleBackReferenceOrOctal(int aFirstChar) private voidprivate voidprivate voidprivate voidprivate voidprivate voidprivate void
-
Field Details
-
DIGITS
- See Also:
-
UNICODE_ESCAPES
-
tape_
-
insideCharClass_
private boolean insideCharClass_ -
insideRepetition_
private boolean insideRepetition_ -
parsingSubexpressions_
-
subexpressions_
-
-
Constructor Details
-
RegExpJsToJavaConverter
public RegExpJsToJavaConverter()Initiate the FSM.
-
-
Method Details
-
convert
Run the state machine on a given input string.- Parameters:
input- the js regexp to process- Returns:
- a valid java regex pattern
-
processCharClassStart
private void processCharClassStart() -
processCharClassEnd
private void processCharClassEnd() -
processRepetitionStart
private void processRepetitionStart() -
processRepetitionEnd
private void processRepetitionEnd() -
processSubExpressionStart
private void processSubExpressionStart() -
processSubExpressionEnd
private void processSubExpressionEnd() -
processEscapeSequence
private void processEscapeSequence() -
handleBackReferenceOrOctal
private boolean handleBackReferenceOrOctal(int aFirstChar)
-