Строка между двойными кавычками с использованием Regex в Java

1

Как я могу получить строки между двойными кавычками, используя Regex в Java?

_settext(_textbox(0,_near(_span("My Name"))) ,"Brittas John");

ex: Мне нужно Мое имя и Бритты Джон

Теги:

2 ответа

3

Получите согласованную группу из индекса 1, которая будет захвачена путем включения внутри скобки (...)

"([^"]*)"

DEMO

Объяснение шаблона:

  "                        '"'
  (                        group and capture to \1:
    [^"]*                    any character except: '"' (0 or more times) (Greedy)
  )                        end of \1
  "                        '"'

образец кода:

Pattern p = Pattern.compile("\"([^\"]*)\"");
Matcher m = p.matcher("_settext(_textbox(0,_near(_span(\"My Name\"))) ,\"Brittas John\");");
while (m.find()) {
    System.out.println(m.group(1));
}
2

Попробуйте это регулярное выражение..

public static void main(String[] args) {
    String s = "_settext(_textbox(0,_near(_span(\"My Name\"))) ,\"Brittas John\");";
    Pattern p = Pattern.compile("\"(.*?)\"");
    Matcher m = p.matcher(s);
    while (m.find()) {
        System.out.println(m.group(1));
    }
}

O/P:

My Name
Brittas John
  • 1
    +1 за ленивый узор.
  • 0
    но это медленно в работе, как предложено мной. Посмотрите на regex101 - отладчик регулярных выражений без каких-либо шагов. Я не уверен, что это дает истинный результат.
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню