如何编写正则表达式以查看某个字符串是否包含在两个字符中。
例如,我想看看字符串的哪一部分包含在引号中。
Java"_virtual_"machine
如果我通过此运行我的正则表达式,我想得到_virtual_
如何使用正则表达式实现此目的?
答案 0 :(得分:2)
答案 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)
你可以使用这个正则表达式。我不确定这是否是你可以使用的最好的正则表达式。它将捕获引号之间的每个字符串。
.*?"([^"]*)"
如果要获取与正则表达式匹配的第一个字符串,请使用:
.*?"([^"]*)".*