具有特殊字符的Java正则表达式
我有一个java的文本字符串[“1234”,“abd-df”],我需要用java编写一个正则表达式来捕获这两个元素 第一个元素=1234, 第二个元素=abd df 我使用下面的正则表达式具有特殊字符的Java正则表达式,java,regex,Java,Regex,我有一个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));
}
}
输出:
Element 1: '1234'
Element 2: 'abd df'