Articles of регулярное выражение

Соответствие регулярных выражений в строке

Я хотел бы извлечь два числа для строк по регулярному выражению "[0-9] +" var str = "ABcDEFG12345DiFKGLSG938SDsFSd" То, что я хочу извлечь, – «12345» и «938». Но я не знаю, как это сделать в Котлине. Спасибо за помощь

Regex – слова соответствия, которые не являются строками

Я пытаюсь различать слова и строки. Мне удалось заставить строки работать, но я не могу понять, как сопоставлять слова, которые не окружены двойными кавычками: Поэтому я хочу, чтобы это соответствовало: test Но это не должно совпадать: "test" Это то, что у меня есть до сих пор: [^\"][a-zA-Z]*[^\"] Он все еще получает тест, хотя он окружен […]

Regex: метасимвол для распознавания любого типа персонажа

Я хочу уметь распознавать следующий шаблон: $…$ с "…" – это любой тип персонажа. Как это можно сделать в Котлине?

Объединение нескольких тегов <script> в одно в Kotlin

Рассмотрим следующий фрагмент кода HTML: <script>…</script> <script>…</script> <div>…</div> <script>…</script> <script>…</script> <script>…</script> <script>…</script> <style>…</style> <script>…</script> <script>…</script> Я хотел бы объединить секции сценария в один: <script>…</script> <div>…</div> <script>…</script> <style>…</style> <script>…</script> Я пробовал этот фрагмент кода: while (true) { val newSource = source.replace( "[<]script[>](.*?)[<]/script[>]\\s*[<]script[>]" .toRegex(setOf(RegexOption.MULTILINE, RegexOption.DOT_MATCHES_ALL)), "<script>$1</script>") if (source.equals(newSource)) { break; } source = newSource } Это не […]

Ошибка проверки валидации регулярным выражением номерного знака автомобиля

Я проведу следующий тест, чтобы проверить номерной знак автомобиля. Что я делаю не так? testInvalid return error testValid return success @Test fun testInvalid() { val value = "ABC12345" val pattern = Pattern.compile("[AZ]{3}[0-9]{4}") val matcher = pattern.matcher(value) val found = matcher.find() System.out.print("$value is valid: $found") Assert.assertFalse(found) } @Test fun testValid() { val value = "ABC1234" val […]

Регулярное выражение для соответствия символам только в начале строки

Я пытаюсь работать над регулярными выражениями. У меня есть файл мэйнфрейма, который имеет несколько полей. У меня есть плоский анализатор файлов, который отличает несколько типов записей на основе первых трех букв каждой строки. Как написать регулярное выражение, где первые три буквы являются «CTR». заранее спасибо

groupValues ​​возвращает только последнее появление повторяющегося шаблона

println(Regex("(A|B)+").matchEntire("AB")!!.groupValues) печатает [AB, B] но я ожидал, что результатом будет [AB, A, B] . Ожидается ли такое поведение? Есть ли способ получить [AB, A, B] ?

Kotlin: Как получить группу захвата первой строки, которая соответствует?

Начиная с строкиSequence Я бы хотел проверить, соответствует ли Regex, и если да, получите первый матч Кроме того, я хотел бы вернуть группу захвата из этого соответствия Regex Если бы мне было все равно, я бы сделал «первый» в строкеSequence, и, если он существовал, заново запустите регулярное выражение. val possibleMatch = input.lineSequence().first { myRegex.matches(it) } […]

Как сделать выражение регулярного выражения с первой вероятностью. (Котлин)

Скажем, у меня есть строка, содержащая программу с примечаниями: var iString = "int i; //A variable \n" + "//This is a text with notes \n" + "//Can you remove them? \n" + "cout<<i; //printing i \n" Я создал регулярное выражение, которое распознало бы заметки: var notes1= ("/"+"(\\s)*"+"/"+"(\\w|[^\\w])*"+"\\n").toRegex() Проблема заключается в написании var newString = iString.replace(notes1,"") […]

Многострочный макет регулярного выражения

У меня есть регулярное выражение: Regex("((group1)(group2))(group3)") Я хотел бы отформатировать его таким образом, чтобы он выглядел красивым и понятным, т. Е. ( (group1) (group2) ) (group3) Например, я пробовал это: Regex("(" + "(group1)" + "(group2)" + ")" + "(group3)") //–> loses the syntax highlighting in Intellij and a bit messy Regex("""( (group1) (group2) ) (group3)""") […]