Моей программе Scala предоставляется строка, которая может содержать или не содержать токен «flimFlam(*)
», где звездочка представляет любой текст, символы, знаки препинания и т. Д. Всегда будет только 0 или 1 экземпляр «flimFlam(*)
» в этой строке, никогда больше.Извлечение внутренней группы с помощью регулярного выражения Scala
Мне нужно определить, содержит ли данная строка ввода экземпляр «flimFlam(*)
», и если это так, извлеките все, что находится внутри двух круглых скобок. Следовательно, если моя строка содержит «flimFlam(Joe)
», то результатом будет строка со значением «Joe
» и т.д.
Моя лучшая попытка до сих пор:
val inputStr : String = "blah blah flimFlam(Joe) blah blah"
// Regex must be case-sensitive for "flimFlam" (not "FLIMFLAM", "flimflam", etc.)
val flimFlamRegex = ".*flimFlam\\(.*?\\)".r
val insideTheParens = flimFlamRegex.findFirstIn(inputStr)
Может
кто-нибудь место, где я неужели?
unanchored как в другом ответе удобно знать (и продвигать). –