String RE_HTML_MARK = "(<[^<]?>)|(<[\s]?/[^<]?>)|(<[^<]?/[\s]*?>)";如何修改正则表达式,判断其是否包含<和>?
时间: 2023-12-18 17:02:54 浏览: 57
要判断字符串是否包含 `<` 和 `>`,可以使用以下正则表达式:`[<>]`。如果想要修改原有的正则表达式,可以将其修改为:`(<[^<]*?>)|(<[\s]?/[^<]*?>)|(<[^<]?/[\s]*?>)`。这样修改后,原有的表达式中的 `[^<]` 将被修改为 `[^<]*`,表示匹配任意数量的非 `<` 字符。
相关问题
public static final String RE_HTML_MARK = "(<[^<]*?>)|(<[\\s]*?/[^<]*?>)|(<[^<]*?/[\\s]*?>)"; private boolean isMaliciousRequest(Map<String, String[]> parameterMap) { return Pattern.matches(RE_HTML_MARK, parameterMap.); } 如何正确续写这段代码,使其遍历parameterMap,判断是否符合RE_HTML_MARK正则表达式?
您可以使用以下代码将参数遍历并检查是否符合正则表达式:
```
for (String[] values : parameterMap.values()) {
for (String value : values) {
if (Pattern.matches(RE_HTML_MARK, value)) {
return true;
}
}
}
return false;
```
这将针对参数映射中的每个值执行循环,并使用 `Pattern.matches` 方法检查该值是否符合 `RE_HTML_MARK` 正则表达式。如果找到匹配项,则返回 `true`,否则返回 `false`。
阅读全文