Regex 替换重复字符的正则表达式

Regex 替换重复字符的正则表达式,regex,Regex,我有一个全文搜索,我想它只需要有一个单一的连接字符,但有时我会收到多个字符 例如。 要搜索Java对象,客户端将空间替换为+,以便服务器搜索服务器+对象。这一切都很好,但有时用户会键入Java对象,这将作为Java+++对象到达服务器,而我的全文搜索失败 我需要将所有出现的++替换为一个++,记住我可能会得到一个查询,比如Java+++Objects+++with+name+比如++++Abstract 我可以编写一些代码来去除它们,但我知道使用正则表达式会更干净,但我没有花太多时间学习它们。你

我有一个全文搜索,我想它只需要有一个单一的连接字符,但有时我会收到多个字符

例如。 要搜索
Java对象
,客户端将空间替换为
+
,以便服务器搜索
服务器+对象
。这一切都很好,但有时用户会键入
Java对象
,这将作为
Java+++对象
到达服务器,而我的全文搜索失败

我需要将所有出现的
++
替换为一个
++
,记住我可能会得到一个查询,比如
Java+++Objects+++with+name+比如++++Abstract


我可以编写一些代码来去除它们,但我知道使用正则表达式会更干净,但我没有花太多时间学习它们。你需要使用这种模式:
\+{2,}
搜索2个或更多的
+
符号。并将所有发生的事件替换为
+

您需要使用以下模式:
\+{2,}
搜索2个或更多的
+
符号。并将所有发生的事件替换为
+

您需要使用以下模式:
\+{2,}
搜索2个或更多的
+
符号。并将所有发生的事件替换为
+

您需要使用以下模式:
\+{2,}
搜索2个或更多的
+
符号。并将所有发生的事件替换为
+

下面是一个替换所有重复字符的示例(您没有指定语言,因此我在示例中使用perl s//运算符):

在这个模式中“.”就是您要搜索的内容。例如,如果只想替换重复的非空白字符,请使用以下命令:

s/(\W)\1+/\1/g;

请参见

中的示例这里有一个替换所有重复字符的示例(您没有指定语言,因此我在示例中使用perl s//运算符):

在这个模式中“.”就是您要搜索的内容。例如,如果只想替换重复的非空白字符,请使用以下命令:

s/(\W)\1+/\1/g;

请参见

中的示例这里有一个替换所有重复字符的示例(您没有指定语言,因此我在示例中使用perl s//运算符):

在这个模式中“.”就是您要搜索的内容。例如,如果只想替换重复的非空白字符,请使用以下命令:

s/(\W)\1+/\1/g;

请参见

中的示例这里有一个替换所有重复字符的示例(您没有指定语言,因此我在示例中使用perl s//运算符):

在这个模式中“.”就是您要搜索的内容。例如,如果只想替换重复的非空白字符,请使用以下命令:

s/(\W)\1+/\1/g;


参见

中的示例应替换哪些字符?我假设这不包括字母和数字。如果
Java对象
Java%20%20%20Objects
的形式到达服务器,该怎么办?它只是需要替换的+字符,因为客户端用+替换任何空格,但它是用户输入的值。全文搜索只是postgresql全文搜索,其中+用作单词分隔符。所以Java%20%20%20对象将只是一个单词。我的答案同样适用于“%20”之类的多个实例。应该替换哪些字符?我假设这不包括字母和数字。如果
Java对象
Java%20%20%20Objects
的形式到达服务器,该怎么办?它只是需要替换的+字符,因为客户端用+替换任何空格,但它是用户输入的值。全文搜索只是postgresql全文搜索,其中+用作单词分隔符。所以Java%20%20%20对象将只是一个单词。我的答案同样适用于“%20”之类的多个实例。应该替换哪些字符?我假设这不包括字母和数字。如果
Java对象
Java%20%20%20Objects
的形式到达服务器,该怎么办?它只是需要替换的+字符,因为客户端用+替换任何空格,但它是用户输入的值。全文搜索只是postgresql全文搜索,其中+用作单词分隔符。所以Java%20%20%20对象将只是一个单词。我的答案同样适用于“%20”之类的多个实例。应该替换哪些字符?我假设这不包括字母和数字。如果
Java对象
Java%20%20%20Objects
的形式到达服务器,该怎么办?它只是需要替换的+字符,因为客户端用+替换任何空格,但它是用户输入的值。全文搜索只是postgresql全文搜索,其中+用作单词分隔符。因此Java%20%20%20对象将只是一个单词。我的答案也适用于“%20”之类的多个实例。或者
\+\++
来混淆一年后读取正则表达式的对象;-)或者
\+\++
混淆一年后读取正则表达式的人;-)或者
\+\++
混淆一年后读取正则表达式的人;-)或者
\+\++
混淆一年后读取正则表达式的人;-)