Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
java - 如何使用java正则表达式替换3个或更多字母与双打一起出现?像 oooooops with oops 和 yesssssss with yess
string.replaceAll("(\\w)\\1{2,}", "$1$1")
就像所有其他语言一样......
要匹配三个或更多,您可以使用/.{3,}/. 要捕获相同的字符,请使用反向引用/(.)\1{2,}/,您可以轻松地将其替换为 2 次出现的捕获组。要仅捕获字母,您可以使用非空白字符\S:
/.{3,}/
/(.)\1{2,}/
\S
str.replace("(\\S)\\1{2,}", "$1$1");
这是根据您的要求工作:
正则表达式示例