【问题标题】:Check parameter string Java regex检查参数字符串 Java 正则表达式
【发布时间】:2014-03-05 18:16:03
【问题描述】:

我有两种字符串类型:

第一:key1=value1&key2=value2&key3=value3...

第二个:key1=value

如何使用 Java 正则表达式来检查字符串是第一类还是第二类? 示例:

String str1 = "a=1&b=2"; // true
String str2 = "a=1&"; // false
String str3 = "a=1"; // true

【问题讨论】:

  • 是否有需要考虑的转义字符? = 可以成为值的一部分吗? & 可以成为键的一部分吗?
  • Clippy 说:看起来您正在尝试处理 GET 请求参数。你想让我向你展示做这件事的正常方法而不是自己动手吗?
  • 通过发布([^=&]+=[^=&]+&)*[^=&]+=[^=&]+ 作为答案来获得简单的代表点是很有诱惑力的,但在这种情况下这不太可能是最好的选择。

标签: java regex


【解决方案1】:

假设这些值只是字母数字字符。

String text = "a=1&b=2";
boolean match = text.matches("[a-zA-Z0-9]+=[a-zA-Z0-9]+(&[a-zA-Z0-9]+=[a-zA-Z0-9]+)*");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多