Class RegExpJsToJavaConverter

java.lang.Object
org.htmlunit.javascript.regexp.RegExpJsToJavaConverter

public class RegExpJsToJavaConverter extends Object
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).
  • Field Details

  • Constructor Details

    • RegExpJsToJavaConverter

      public RegExpJsToJavaConverter()
      Initiate the FSM.
  • Method Details

    • convert

      public String convert(String input)
      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)