我有一个正则表达式模式,它匹配“工作日”、“某事”等文本。我想用“工作日”、“某事”替换这个模式。
我做了如下的事情:
Pattern alpha_only = Pattern.compile("[a-zA-Z]+\\-[a-zA-Z]+");
Matcher alonly_matcher = alpha_only.matcher(token);
while (alonly_matcher.find()){
old_val = alonly_matcher.group(0);
new_val = old_val.replaceAll("\\-", " ");
token = token.replace(old_val, new_val);
}
但这在字符串包含许多连字符的情况下不起作用。例如在像这样的字符串中
"This is some-example text with - multiple hyphens and 45-55 week-day"
它不应该删除 45-55 等之间的连字符。我该如何解决这个问题?我是正则表达式的新手。