trait Compiler[E] extends AnyRef
Type class for types that can be compiled to instances of Regex.
While regular expression literals are usually the preferred way of creating instances of Regex, they don't fit all possible situations - one might imagine, for example, a scenario where a regular expression is created dynamically before being compiled.
Compiler is provided for these cases where literals are not an option. The preferred way of using it is to
make sure the corresponding syntax is in scope and use the asRegex
method:
// Obtain a regular expression as a string somehow. val regex: String = ??? // Promote it to a Regex[Int] regex.asRegex[Int]
- Source
- Compiler.scala
- Alphabetic
- By Inheritance
- Compiler
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def compile[A](expr: E)(implicit db: MatchDecoder[A]): CompileResult[Regex[DecodeResult[A]]]
Compiles the specified expression into a Regex.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compile[A](expr: E, group: Int)(implicit arg0: GroupDecoder[A]): CompileResult[Regex[DecodeResult[A]]]
Compiles the specified expression into a Regex.
Compiles the specified expression into a Regex.
This is useful when you're only interested in a specific group of each match, and that group is of a type that already has a GroupDecoder - typically, a primitive type. For example:
// An example match will be [123], with the first equal to 123. That's the bit we want to extract // as an int. compiler.compile[Int]("""\[(\d+)\]""", 1)
A MatchDecoder[A] will be generated by calling MatchDecoder.fromGroup with the specified
group
value. - final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unsafeCompile[A](expr: E, group: Int)(implicit arg0: GroupDecoder[A]): Regex[DecodeResult[A]]
Unsafe version of
compile
.Unsafe version of
compile
.- Annotations
- @SuppressWarnings()
- def unsafeCompile[A](expr: E)(implicit arg0: MatchDecoder[A]): Regex[DecodeResult[A]]
Unsafe version of
compile
.Unsafe version of
compile
.- Annotations
- @SuppressWarnings()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()