Как использовать регулярное выражение для установки определенных данных?

Я ввел поток со следующими данными:

---------------------------------------------
[email protected]:~$ db2level
DB21085I  Instance "manil" uses "64" bits and DB2 code release "SQL10010" with 
level identifier "0201010E".
Informational tokens are "DB2 v10.1.0.0", "s120403", "LINUXAMD64101", and Fix 
Pack "0".
Product is installed at "/home/manil/sqllib".
---------------------------------------------

От вышеупомянутого мне нужен v10.1.0.0 , чтобы быть сохраненным в строковой переменной.

Как сделать то использование явское регулярное выражение?

1
nl ja de
Нам нужно больше правил: последовательность v10.1.0.0 может быть досягаемостью во многих отношениях. Будет это безотносительно предшествоваться DB2 и содержаться между двойными кавычками? Это всегда будет тот же самый формат (т.е. v + 4 числа, отделенные точками)? Вы уже попробовали что-то?
добавлено автор sp00m, источник
Что относительно моих других вопросов?
добавлено автор sp00m, источник
Да, это всегда будет тот же самый формат.
добавлено автор Ankur, источник

3 ответы

Используйте что-то вроде этого, чтобы захватить образец вариантов:

import java.util.regex.*;

    public class RTest {

            public static void main(String [] args) {
                    String raw_data = "asdkgjasdbf984 sdkjfashfiu 4qwsadkfjnv w98sa-asdf08gywbfsd v1231.123.12.11.1 fkjsdfn9823isd";
                    Pattern version_find = Pattern.compile("v[\\d+\\.?]+");
                    Pattern directory_find = Pattern.compile("[\\/[^\\/]+]+");
                    Matcher version_finder = version_find.matcher(raw_data);
                    while(version_finder.find()) {
                          System.out.println(version_finder.group());
                    }
            }
    }

Продукция:

v1231.123.12.11.1
/isd/asdasd2903 ajshdaq09r34/adsj 38/

<Сильный> действительно необходимо понять regexes глубоко, если вы - программист. Они - одна из основ. Они тверды сначала, но как только вы 'взломали их', вы не забываете его. Как поездка на велосипеде.

1
добавлено
Никакой probs, вам рады:)
добавлено автор Cris Stringfellow, источник
Я обновил свой ответ, чтобы отразить это, также. Но посмотрите акцент
добавлено автор Cris Stringfellow, источник
спасибо, его wrkng.
добавлено автор Ankur, источник
Если я захочу найти "/home/manil/sqllib" кадр, то тот же самый входной поток, wht будет регулярным выражением, чтобы собрать?
добавлено автор Ankur, источник
еще раз спасибо..:)
добавлено автор Ankur, источник

Это удовлетворит вашим потребностям:

String version = yourLine.replaceAll(".*(v\\d+([.]\\d+){3}).*", "$1")
1
добавлено

Вам не нужен regularExpression здесь

просто используйте

String .contain() method and String substring()

0
добавлено
можно искать использование DB2, содержат (), и после этого вы можете подстрока() использующий v как начинающийся до \"
добавлено автор TheWhiteRabbit, источник
Я don' t знают, какая точная стоимость поступит после "v". Я в состоянии достигнуть номера строки четыре, т.е. "Информационные символы - "DB2 v10.1.0.0", "s120403", "LINUXAMD64101", и Фиксируют". Но мне нужно любое число, прибывает после v, как vxx.x.x.x
добавлено автор Ankur, источник
DB2 не фиксируется, он может измениться. но формат (т.е. v + 4 числа, отделенные точками, будут тем же самым.
добавлено автор Ankur, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async