findAllIn
方法(或属性)属于 scala.util.matching.UnanchoredRegex
特性(trait),其相关用法说明如下。
用法:
def findAllIn(source: CharSequence): MatchIterator
返回给定字符序列中此 Regex
的所有非重叠匹配作为 scala.util.matching.Regex.MatchIterator ,这是一个特殊的 scala.collection.Iterator ,它返回匹配的字符串,但也可以查询有关最后一个匹配的更多数据,例如捕获组和起始位置.
MatchIterator
也可以转换为返回类型为 scala.util.matching.Regex.Match 的对象的迭代器,例如通常由 findAllMatchIn
返回的对象。
如果潜在匹配重叠,则返回第一个可能的匹配,然后是第一个匹配所消耗的输入之后的下一个匹配:
val hat = "hat[^a]+".r
val hathaway = "hathatthattthatttt"
val hats = hat.findAllIn(hathaway).toList // List(hath, hattth)
val pos = hat.findAllMatchIn(hathaway).map(_.start).toList // List(0, 7)
要返回重叠匹配,可以使用不占用重叠区域的前瞻 (?=
) 来制定正则表达式。
val madhatter = "(h)(?=(at[^a]+))".r
val madhats = madhatter.findAllMatchIn(hathaway).map {
case madhatter(x,y) => s"$x$y"
}.toList // List(hath, hatth, hattth, hatttt)
在用尽迭代器后尝试检索匹配信息会导致 java.lang.IllegalStateException 。有关详细信息,请参阅scala.util.matching.Regex.MatchIterator。
值参数:
- source
要匹配的文本。
返回:
A scala.util.matching.Regex.MatchIterator 个匹配的子字符串.
例子:
for (words <- """\w+""".r findAllIn "A simple example.") yield words
继承自:
- util.matching.Regex.findAllIn
源码:
- Regex.scala
相关用法
- Scala UnanchoredRegex.findAllMatchIn用法及代码示例
- Scala UnanchoredRegex.findFirstIn用法及代码示例
- Scala UnanchoredRegex.findFirstMatchIn用法及代码示例
- Scala UnanchoredRegex.findPrefixMatchOf用法及代码示例
- Scala UnanchoredRegex.findPrefixOf用法及代码示例
- Scala UnanchoredRegex.unapplySeq用法及代码示例
- Scala UnanchoredRegex.replaceSomeIn用法及代码示例
- Scala UnanchoredRegex.replaceAllIn用法及代码示例
- Scala UnanchoredRegex.matches用法及代码示例
- Scala Unfold.partitionMap用法及代码示例
- Scala Unfold.unzip用法及代码示例
- Scala Unfold.inits用法及代码示例
- Scala Unfold.sizeCompare用法及代码示例
- Scala UnrolledBuffer.elementWise用法及代码示例
- Scala UnrolledBuffer.groupBy用法及代码示例
- Scala UnrolledBuffer.addString用法及代码示例
- Scala UnrolledBuffer.groupMap用法及代码示例
- Scala UnrolledBuffer.applyOrElse用法及代码示例
- Scala Unit.orElse用法及代码示例
- Scala UnrolledBuffer.inits用法及代码示例
- Scala UnitOrdering.orElseBy用法及代码示例
- Scala Unit.on用法及代码示例
- Scala UnrolledBuffer.permutations用法及代码示例
- Scala UnrolledBuffer.sizeIs用法及代码示例
- Scala Unfold.mkString用法及代码示例
注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 UnanchoredRegex.findAllIn。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。