AlttdGriefPrevention/src/main/java/me/ryanhamshire/GriefPrevention/WordFinder.java
RoboMWM 40f554d386 reformat code
- Lots of tabs to spaces going on
- That's a lot of changes!

#63
2020-06-08 21:57:55 -07:00

42 lines
1.1 KiB
Java

package me.ryanhamshire.GriefPrevention;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class WordFinder
{
private Pattern pattern;
WordFinder(List<String> wordsToFind)
{
if (wordsToFind.size() == 0) return;
StringBuilder patternBuilder = new StringBuilder();
for (String word : wordsToFind)
{
if (!word.isEmpty() && !word.trim().isEmpty())
{
patternBuilder.append("|(([^\\w]|^)" + Pattern.quote(word) + "([^\\w]|$))");
}
}
String patternString = patternBuilder.toString();
if (patternString.length() > 1)
{
//trim extraneous leading pipe (|)
patternString = patternString.substring(1);
}
this.pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
}
boolean hasMatch(String input)
{
if (this.pattern == null) return false;
Matcher matcher = this.pattern.matcher(input);
return matcher.find();
}
}