当前位置: 首页 > 面试题库 >

删除方括号内空格的正则表达式是什么?

穆高澹
2023-03-14
问题内容

我正在用Java编写程序以接受查询。如果我有类似的查询

insert    
into  
abc      values   (    e   
, b    );

…我可以使用什么正则表达式将其转换为:

insert into abc values(e,b);

…要么:

insert:into:abc:values(e,b);

实际上,我想知道如何编写正则表达式以仅删除方括号内的空格。


问题答案:

假设括号正确平衡且没有嵌套括号,则以下内容将删除括号内(且仅在括号内)的所有空格:

String resultString = subjectString.replaceAll("\\s+(?=[^()]*\\))", "");

它转变

insert    
into  
abc      values   (    e   
, b    );

进入

insert    
into  
abc      values   (e,b);

说明:

\s+      # Match whitespace
(?=      # only if followed by...
 [^()]*  # any number of characters except parentheses
 \)      # and a closing parenthesis
)        # End of lookahead assertion


 类似资料:
  • 问题内容: 我一直试图在Java中编写一个正则表达式以删除下面括号中的所有内容,同时保留其他所有内容。 注意,括号可以嵌套,这就是为什么我的模式失败的原因 。有人能帮我吗?下面我试过了: 但这打印: d4 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. Nf3 OO 6. Be2 e5 7. dxe5 dxe5 8. Qxd8 Rxd8 9. Bg5 Nbd7 10. OO

  • 问题内容: 我正在尝试处理一堆文件,然后需要进行修改以删除文件名中的无关信息;值得注意的是,我正在尝试删除括号内的文本。例如: 我想对一整堆文件进行正则表达式,其中括号表达式可能在中间或结尾,并且长度可变。 正则表达式是什么样的?首选Perl或Python语法。 问题答案: 因此,在Python中,您可以这样做:

  • 问题内容: 我有这样一行: 我希望它看起来像这样: 我不能只对“,”进行替换,因为它将删除括号之外的那些实例。 我尝试了这个: 它会替换括号内的 所有内容 (而不仅仅是逗号)。我尝试将逗号和空格组合仅添加到该正则表达式中,但那时似乎并没有删除任何内容。 有人可以告诉我如何指定仅 在括号内出现时删除(逗号空间)吗? __ 问题答案: 使用前瞻: 此正则表达式说“代替逗号空间只有在下一括号字符是一个

  • 上面的正则表达式返回括号之间的文本。 如: 如何重写上面的正则表达式,所以我提供了一个类似的字符串,它将返回。i、 e带括号的部分,其中包含大括号中的字符串。

  • 我有一个字符串,其中有多个逗号和空格作为单词之间的分隔符。以下是一些示例: 我想使用正则表达式将上述3个示例中的任何一个转换为“word1, word2, word3”-(注意:结果中最后一个单词后没有逗号)。 我使用了以下代码: 我得到的输出是“word1,word2,word3,”。而实际上我想要“word1,word2,word3”。单词3后没有逗号。 我应该使用什么样的正则表达式和re方法