如果正则表达式与带有括号的< Script>
标记或alert()匹配,我想显示message-1“Script tag and alert is not allowed”。如果只有警报或脚本,则显示不同的消息-2“欢迎”。
显示以下条件的消息-1:

&# xA; 1)< script>
 2)<脚本>
 3)<脚本>脚本
 4)<脚本>警告
 5)<脚本> alert()
 6)alert alert()
 7)alert()script
 8)alert<脚本>



 显示以下条件的消息-2:
&#xA;&#xA;<代码> 1)脚本脚本&#xA; 2)警报警报&#xA; 3)脚本警报&#xA; 4)警报警报脚本脚本&#xA; 5)警报脚本脚本&#xA;&# xA;&#xA;
我试过&lt; \ s * [script \ S * \ s *] + | \ S 警报\ S \(\ S *(。*?)\)。但它并不能满足所有条件。请帮帮我。
&#xA;答案 0 :(得分:0)
正则表达式:<\s*script\s*>|alert\s*\(\s*\)
<强>测试强>
private static void test(String input) {
String regex = "<\\s*script\\s*>|alert\\s*\\(\\s*\\)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
if (m.find()) {
System.out.println("#1 " + input);
} else {
System.out.println("#2 " + input);
}
}
<强>输出强>
#1 <script>
#1 < script >
#1 < script > script
#1 < script > alert
#1 < script> alert ( )
#1 alert alert( )
#1 alert () script
#1 alert < script >
#2 script script
#2 alert alert
#2 script alert
#2 alert alert script script
#2 alert script script
答案 1 :(得分:0)
对于您的消息1部分(在regex101.com上演示):
(<\s*script\s*>)|(alert\s*\(\s*\))
对于您的留言2部分(在regex101.com上演示),简单如下:
(script|alert)