如何在这3种情况下使用带有Java的正则表达式提取字符串
我在处理一个问题。我有三个字符串,我只想提取字符串如何在这3种情况下使用带有Java的正则表达式提取字符串,java,regex,Java,Regex,我在处理一个问题。我有三个字符串,我只想提取字符串 Observações da #{loginBean.centralCreditoRole ? 'central de crédito' : 'loja'} #{resource['images:header_logo_client.png']} #{propostaCartaoBean.pojo.inss.exclusaoDataprevAgendada ? 'Sim' : 'Não'} 在第1行中,输出将是3个字符串,Observaç
Observações da #{loginBean.centralCreditoRole ? 'central de crédito' : 'loja'}
#{resource['images:header_logo_client.png']}
#{propostaCartaoBean.pojo.inss.exclusaoDataprevAgendada ? 'Sim' : 'Não'}
在第1行中,输出将是3个字符串,Observações da
,central de crédito
,loja
。第2行为空,第3行为Sim和Não
我得到的第2行是这样的teste.replaceAll(“\\\\\\.+?\\\},”)代码>
有可能解决这个问题吗
谢谢您的输入不足以理解您的需求。但是,您可以尝试以下示例:
String input = "Observações da #{loginBean.centralCreditoRole ? 'central de crédito' : 'loja'}";
Pattern pattern = Pattern.compile("(.*?)#.*?\\?\\s*(?:'(.*?)(?<!\\\\)'\\s+:\\s+'(.*?)(?<!\\\\)')?");
Matcher m = pattern.matcher(input);
while (m.find()) {
System.out.println(m.group(1));
System.out.println(m.group(2));
System.out.println(m.group(3));
}
String input=“Observaç245; es da#{loginBean.centralCreditoRole?'central de crédito':'loja'”;
Pattern Pattern=Pattern.compile((.*?)\\\?\\s*(?:')(.*?)?