java和正则表达式

时间:2014-07-15 13:21:06

标签: java regex matcher

我需要编写一个正则表达式,以便在使用模式和匹配器的java中使用它。 正则表达式应该测试文本中的单词是否被javascript标记包围。 例如,假设我有以下文字:

**testtesttesttest <script> example of a "text" </script> testtesttesttest**

我需要检查单词“text”是否被&lt; script&gt;包围和&lt; / script&gt;。

我将文本拆分为两个文本:

txt1 = testtesttesttest <script> example of a 
txt2 = </script> testtesttesttest

现在我需要检查:

  1. 如果txt1包含标记&lt; script&gt;但不包含标签&lt; / script&gt;
  2. 如果txt2包含标记&lt; / script&gt;但不包含标签&lt; script&gt;
  3. 有没有办法使用正则表达式? 提前谢谢你,

1 个答案:

答案 0 :(得分:0)

首先,您可以通过常规活动了解您的javascript代码。

final Pattern pattern = Pattern.compile("<script>(.+?)</script>");
    final Matcher matcher = pattern.matcher("**testtesttesttest <script> example of a \"text\" </script> testtesttesttest**");
    matcher.find();
    String insdeOfTag= matcher.group(1);

然后,您可以检查字符串是否包含“text”

insdeOfTag.contains("text");

您可以使用此循环所有结果:

List<String> values = new ArrayList<String>();
while (matcher.find()) {
        values.add(matcher.group(1));
}

值列表将包含javascript标记内的文本。

for (String text : values) {
//you can look for the word "text" on a specific index in here.
}