Java正则表达式:以'结尾的单词;s';除了特定的词
我在找一个正则表达式。 我有这个:Java正则表达式:以'结尾的单词;s';除了特定的词,java,regex,replaceall,Java,Regex,Replaceall,我在找一个正则表达式。 我有这个: String regex_words_ended_s_in_singular_form = "\\b(anglais|francais)\\b"; 然后,我想删除除“anglais”和“francais”之外的所有单词末尾的“s” 我试过这个,但它当然不起作用: String temp = tweet.replaceAll( "(?!" + regex_words_ended_s_in_singular_form + ")" + "s\\b",""); w
String regex_words_ended_s_in_singular_form = "\\b(anglais|francais)\\b";
然后,我想删除除“anglais”和“francais”之外的所有单词末尾的“s”
我试过这个,但它当然不起作用:
String temp = tweet.replaceAll( "(?!" + regex_words_ended_s_in_singular_form + ")" + "s\\b","");
while (!temp.equals(tweet)) {
tweet = temp;
temp = tweet.replaceAll( "(?!" + regex_words_ended_s_in_singular_form + ")" + "s\\b","");
}
tweet = temp;
要匹配以
s
但anglais
和francais
结尾的任何单词,您可以使用
\b(?!(?:anglais|francais)\b)(\w*)s\b
见
详细信息
-前导词边界\b
-如果当前位置右侧有一个整词(?!(?:anglais | francais)\b)
或anglais
,则会导致匹配失败francais
-第1组:零个或多个单词字符(\w*)
-一个s
s
-尾随词边界\b
String res = s.replaceAll("\\b(?!(?:anglais|francais)\\b)(\\w*)s\\b", "$1");
要匹配以
s
但anglais
和francais
结尾的任何单词,您可以使用
\b(?!(?:anglais|francais)\b)(\w*)s\b
见
详细信息
-前导词边界\b
-如果当前位置右侧有一个整词(?!(?:anglais | francais)\b)
或anglais
,则会导致匹配失败francais
-第1组:零个或多个单词字符(\w*)
-一个s
s
-尾随词边界\b
String res = s.replaceAll("\\b(?!(?:anglais|francais)\\b)(\\w*)s\\b", "$1");
你的评论听起来好像你只是想找到以“s”结尾的词。如果是这样,您可以使用以下内容:
[\S]+(S\b)
你的评论听起来好像你只是想找到以“s”结尾的单词。如果是这样,您可以使用以下内容:
[\S]+(S\b)
那么你只需要一个正则表达式,它可以找到任何以
s
结尾的单词?你能提供一个输入输出示例吗?那么你只需要一个正则表达式,它可以找到任何以s
结尾的单词吗?你能提供一个输入输出示例吗?我只想删除文本中每个单词末尾的“s”,但不适用于英语和法语。使用您的解决方案,我只是删除了单词,而不仅仅是“s”:/@GeoffreyGuettier已修复。@GeoffreyGuettier很高兴它对您有效。请考虑通过点击来接受答案。✓ 如果我的回答对你有帮助的话,请点击左边(请参见),然后向上投票(请参见)。非常感谢,它很有效!我有最后一个问题,我是否因为“|”而需要一个循环?“?:”是什么意思?很抱歉它不起作用,它删除了所有的单词而不是“s”:(可能是这样的:字符串res=s.replaceAll(\\b(?)(?:盎格鲁语|法语)\\b)(\\w*)s\\b“,“$1$2”)我只想删除一个文本的结尾处的“S”,而不是盎格鲁和弗朗西斯。当你的解决方案,我只是删除单词,而不仅仅是‘S’:/@ GeoffreyGuettier固定。@ GeFFFYGEYTITE很高兴为你工作。请考虑通过点击接受答案。✓ 如果我的答案对你有帮助,请点击左边(请参见)并向上投票(请参见)。非常感谢!我只有最后一个问题,我是否需要一个循环,因为“|”?这是什么意思?:“对不起,它不起作用,它会删除所有单词而不是“s”:(可能是这样的:String res=s.replaceAll(\\b(?)(?:anglais | francais)\\b)(\\w*)s\\b”,“$1$2”);让我试试……不,我不想这样。我想删除单词末尾的“s”,除了“anglais”和“francais”。不,我不想这样。我想删除单词末尾的“s”,除了“anglais”和“francais”。