繁体   English   中英

Java 带特殊字符的正则表达式

[英]Java regular expression with special characters

我在 java ["1234","abd df"] 中有一个文本字符串,我需要在 Java 中编写一个捕获两个元素的正则表达式

第一个元素=1234,第二个元素=abd df

我正在使用以下正则表达式

\\[\\"(.*?)\\",\\".*?\\"\\]

但是上面不能正常工作,实际上这两个元素都可以是数字或字母,有人可以指导我找到正确的正则表达式字符串吗?

谢谢

这将分别匹配它们:

"[^"]*"

这将匹配逗号分隔的引号字符串并捕获引号部分:

"([^"]*)","([^"]*)"

我在 java ["1234","abd df"] 中有一个文本字符串,我需要在 Java 中编写一个正则表达式来捕获这两个元素

第一个元素=1234,第二个元素=abd df

我正在使用以下正则表达式

\\[\\"(.*?)\\",\\".*?\\"\\]

但是上面不能正常工作,实际上这两个元素都可以是数字或字母,有人可以指导我找到正确的正则表达式字符串吗?

谢谢

您的正则表达式非常接近。

对其进行了细微改动以表明我可以工作。

你的正则表达式:

\\[\\"(.*?)\\",\\".*?\\"\\]

小改动后:

\\[\"(.*?)\",\"(.*?)\"\\]

上下文中的正则表达式:

public static void main(String[] args) {
    String input = "[\"1234\",\"abd df\"]";

    Matcher matcher = Pattern.compile("\\[\"(.*?)\",\"(.*?)\"\\]").matcher(input);

    if(matcher.find()) {
        System.out.printf("Element 1: '%s'%n", matcher.group(1));
        System.out.printf("Element 2: '%s'%n", matcher.group(2));
    }
}

Output:

Element 1: '1234'
Element 2: 'abd df'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM