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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。