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 class
private static class
Helper to encapsulate the transformations. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private boolean
private boolean
private List
<RegExpJsToJavaConverter.Subexpresion> private RegExpJsToJavaConverter.Tape
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionRun the state machine on a given input string.private boolean
handleBackReferenceOrOctal
(int aFirstChar) private void
private void
private void
private void
private void
private void
private 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)
-