Java正则表达式包含在内

时间:2016-03-03 12:51:41

标签: java regex

如何编写正则表达式以查看某个字符串是否包含在两个字符中。

例如,我想看看字符串的哪一部分包含在引号中。

Java"_virtual_"machine

如果我通过此运行我的正则表达式,我想得到_virtual_

如何使用正则表达式实现此目的?

3 个答案:

答案 0 :(得分:2)

假设文本只包含一对这样的字符并且没​​有任何转义技巧,那么你可以使用这个正则表达式

.*"([^"]*)".*

Try it online

答案 1 :(得分:0)

我不会用正则表达式来做,而是使用找到第一次和第二次出现的字符的方法,因此在

中使用它更灵活
String s = "Java\"_virtual_\"machine";
String find = "\"";
int first = s.indexOf(find) + 1;
int second = s.indexOf(find, s.indexOf(find) + 1);
s.substring(first, second);

您可以在其他字符上重复使用此代码,我敢打赌它比正则表达式快。

答案 2 :(得分:0)

你可以使用这个正则表达式。我不确定这是否是你可以使用的最好的正则表达式。它将捕获引号之间的每个字符串。

.*?"([^"]*)"

Demo here

如果要获取与正则表达式匹配的第一个字符串,请使用:

.*?"([^"]*)".*
相关问题