Java中多行文本代码中的正则表达式

时间:2018-05-24 15:36:30

标签: java regex

对于下面的XML,我想找到patientInfo标签并找出<之间的内容。和“patientInfo>”使用Java。我认为bes方式是使用匹配器。所以我编写了如下代码(假设上面的String在变量k中)。然后我会使用m.group(0)或m.group(1)。想到这一点,一旦我这样做,我就可以得到所包含的信息。

    Pattern p = Pattern.compile("<.*:patientInfo>");
    Matcher m = p.matcher(k);
    System.out.println(m.matches()); 

但匹配是假的。我想我没有RE的权利。有什么建议? (所有敏感信息已被替换)

(more stuff above)
<ns3:insuredInfo>
  <ns3:insuredId>ID12345678</ns3:insuredId>
  <ns3:insuredSecondaryInd>N</ns3:insuredSecondaryInd>
  <ns3:firstName>GEORGE</ns3:firstName>
  <ns3:lastName>WASHINGTON</ns3:lastName>
  <ns3:gender>M</ns3:gender>
</ns3:insuredInfo>
<ns3:patientInfo>
      <ns3:firstName>CATHY</ns3:firstName>
      <ns3:middleInitial>N</ns3:middleInitial>
      <ns3:lastName>LASTLY</ns3:lastName>
      <ns3:gender>F</ns3:gender>
      <ns3:birthDate>08/13/2006</ns3:birthDate>
      <ns3:addressLine1>123 MAIN ST</ns3:addressLine1>
      <ns3:cityName>ANY TOWN</ns3:cityName>
      <ns3:stateName>NY</ns3:stateName>
      <ns3:zipCode>11418</ns3:zipCode>
      <ns3:patientAccountNumber>12345678xyz</ns3:patientAccountNumber>
 </ns3:patientInfo>
   (more stuff underneath)

0 个答案:

没有答案