【问题标题】:java regex: match multiple comma separated strings in any orderjava regex:以任意顺序匹配多个逗号分隔的字符串
【发布时间】:2017-10-26 17:03:23
【问题描述】:

我有一个传入的字符串,例如“产品选项、服务器应用程序、当前版本” 我必须创建一个正则表达式来匹配一个值到上面包含所有逗号分隔字符串的字符串,不区分大小写。


  1. 例如“Currentversion, Product options, server applications”应该匹配

  2. “Productoptions, currentversion, server applications”不应匹配

  3. “服务器应用程序、产品选项、当前版本”应该匹配

【问题讨论】:

  • 不能用逗号分割,建个列表,用.contain方法吗?
  • 我必须将它添加到正则表达式处理器中。所以我必须使用正则表达式
  • 那么你有什么尝试?你有什么问题? Stack Overflow 不是代码编写服务。
  • 字符串正则表达式 = "^abc ded,wer asd asd,asd ww$"; System.out.println("abc ded,wer asd asd,asd ww".matches(regex));例如这是真的,但我不知道如何拆分逗号并以任何顺序匹配字符串
  • 如果您正在寻找 java 解决方案,最好用它标记您的问题。

标签: java regex string comma


【解决方案1】:

这是我想出的答案:

对于基于正则表达式的解决方案,以下应该可以工作-

String r =^(?=.*Product Options)(?=.*Server Applications)(?=.*CurrentVersion).*$
Pattern p= Pattern.compile(r, Pattern.CASE_INSENSITIVE);
p.matcher(s).matches()

这应该匹配以任何顺序找到的字符串

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    相关资源
    最近更新 更多