为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用正则表达式提取子字符串

/ 猿问

如何使用正则表达式提取子字符串

慕哥9229398 2019-07-31 15:52:35

如何使用正则表达式提取子字符串

我有一个字符串,其中包含两个单引号,即'字符。在单引号之间是我想要的数据。

如何编写正则表达式以从以下文本中提取“我想要的数据”?

mydata = "some string with 'the data i want' inside";


查看完整描述

3 回答

?
SMILET

假设您希望单引号之间的部分,请使用此正则表达式Matcher:


"'(.*?)'"

例:


String mydata = "some string with 'the data i want' inside";

Pattern pattern = Pattern.compile("'(.*?)'");

Matcher matcher = pattern.matcher(mydata);

if (matcher.find())

{

    System.out.println(matcher.group(1));

}

结果:


我想要的数据


查看完整回答
反对 回复 2019-07-31
?
湖上湖

你不需要正则表达式。

将apache commons lang添加到您的项目(http://commons.apache.org/proper/commons-lang/),然后使用:

String dataYouWant = StringUtils.substringBetween(mydata, "'");


查看完整回答
反对 回复 2019-07-31
?
红颜莎娜
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
    public static void main(String[] args) {
        Pattern pattern = Pattern.compile(".*'([^']*)'.*");
        String mydata = "some string with 'the data i want' inside";

        Matcher matcher = pattern.matcher(mydata);
        if(matcher.matches()) {
            System.out.println(matcher.group(1));
        }

    }}


查看完整回答
反对 回复 2019-07-31

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信