java - java中的正则表达式模式匹配

标签 java regex

我需要解析 ws 服务 SOAP 响应之间和中的字符串。我使用下面的模式来匹配字符串 图案:-

<ns2:resut>(.*)<\\/ns2:resut>

对于字符串 1,它工作正常,但在某些响应中,例如字符串 2,响应为空。

字符串 1:-

<soapenv:Body><ns2:updateCustomerResponse><ns2:resut>ATM: T, EMAIL: T, FAX: T, INTERNET SUBE: T, ISKULTURSANAT: T, ISTEYATIRIM: T, IVR: T, KUMBARAFON: T, POSTA IS: T, MAXIMUM: T, MOBIL KANALLAR SOSYAL MEDYA: T, SMS: T, TEL GSM: T, TEL EV: T, TEL IS: T</ns2:resut></ns2:updateCustomerResponse></soapenv:Body>

字符串2:-

<soapenv:Body><ns2:updateCustomerResponse><ns2:resut/></ns2:updateCustomerResponse></soapenv:Body>

我怎样才能实现将两个字符串与单个模式匹配。字符串 2 的预期结果为 null 或空白。

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

尝试以下操作。已在 Regexe 中测试

<ns2:resut((>(.*)</ns2:resut>)|/>)

另请阅读如何编写 regex有条件。样本 Tutorial

关于java - java中的正则表达式模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31147277/

相关文章:

python - 如何使用 re.sub() 只保留字母 a-z、A-Z、数字 0-9 和空格而不保留数字?

regex - 谷歌表格正则表达式

java - 什么时候使用不同的类?

java - 使用 Java 的 Mac Os 中的系统托盘(菜单附加功能)图标

java - PriorityQueue 没有正确排序其内容?

java - android.view.InflateException : Binary XML file line #6: Error inflating class com. google.android.gms.maps.MapView

regex - 测试正则表达式工具(Linux/ubuntu)

java - 如何使用正则表达式匹配行大小?

ruby-on-rails - 提供的正则表达式使用多行 anchor (^ 或 $)

java - Java int[ ] 数组在 JVM 中是如何实现的?