假设我有一个字符串,比如'John','Smith'
。我希望我的正则表达式从该字符串中提取值John
和Smith
,不带逗号和引号。我环顾了一下网站,找到了一个解决方案,去掉了逗号,但没有引号。
这是我尝试的正则表达式(?:^|)(?)?
有了它,我得到了
'John'
和'Smith'
。当然,我可以像这样简单地迭代Matcher
并手动删除引号,但是我想知道是否有更直接的解决方案使用regex而不必求助于replace eAll
。
Pattern pat = Pattern.compile("(?:^|(?<=,))[^,]*");
Matcher matcher = pat.matcher("'John', 'Smith'");
List<String> matches = new ArrayList<>();
while (matcher.find()) {
matches.add(matcher.group().replaceAll("'", ""));
}
我尝试了这段代码,它给出了不带单引号的输出字符串:
public class SubstringExample{
public static void main(String args[]){
String nameStr="'John','Smith'";
String newNameStr = nameStr.replaceAll("\'","");
System.out.println(newNameStr);
}}
下面的正则表达式将起作用:“[^,”
。
下面是更新的代码。
public static void main(String[] args) {
String regex = "[^,']+";
Pattern pat = Pattern.compile(regex);
Matcher matcher = pat.matcher("'John', 'Smith'");
List<String> matches = new ArrayList<>();
while (matcher.find()) {
matches.add(matcher.group());
}
System.out.println(matches);
}
输出:
[John, , Smith]
我有这样一个价值观: 什么正则表达式将返回包含在引号中的值(例如和)?
下面是我的代码。我想用逗号分隔的列表追加ip:port字符串。 我想要这种格式的输出:
我想做的是提取单引号或双引号之间的所有值。 假设我有以下值。 所需的输出为: 我应该如何编写正则表达式(使用一个正则表达式一次提取所有所需的值),以获得包含在第一个和最后一个引号中的整个文本? p、 我想使用方法
问题内容: 在两个不同的表之间使用逗号或联接有什么区别? 例如以下两个代码: 问题答案: 执行它们时并没有真正的区别,但是在工作中存在可读性,一致性和减轻错误的问题: 想象一下,如果您有4张桌子,如果使用老式的INNER JOIN方法,那么最终结果将是: 使用显式的INNER JOINS它将是: 后者显示了您在桌子前面的确切位置。它具有更高的可读性,并且更容易出错,因为与在WHERE中添加另一个A
我有一根绳子 我想用逗号分隔,但需要排除括号和引号内的逗号(单引号和双引号)。 这样地
问题内容: 如何从中提取字符串并使用模式匹配或其他方法。例如,如果文本是` “您好(Java)” 然后如何获得。 谢谢。 问题答案: 试试这个: 要么