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

如何使用正则表达式Java在方括号内用下划线替换破折号

蒲魁
2023-03-14
问题内容

我试图用下划线替换方括号内的破折号,但它用字符串中的下划线替换所有破折号。

例如,我要替换

"[a]-[a-gamma]"

"[a]-[a_gamma]"

但是它将下划线替换字符串中的 所有 破折号。


问题答案:

您可以使用

String n="[a]-[a-gamma]";
System.out.println(n.replaceAll("-(?=[^\\[\\]]*\\])", "_"));

至于正则表达式本身,-只有在符号后跟非[s和非]s的情况下,我才会匹配该符号,直到引擎找到为止]。然后,我们在[]s中。可能情况并非如此(第4个连字符[a-z]-[a-z] - ] [a-z]),但我希望这不是您的情况。

IDEONE演示

输出:

[a]-[a_gamma]


 类似资料:
  • 本文向大家介绍使用JS正则表达式 替换括号,尖括号等,包括了使用JS正则表达式 替换括号,尖括号等的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇使用JS正则表达式 替换括号,尖括号等就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我有一个字符串: 我要删除paren内部和paren本身中的所有内容,仅保留: 我试图用正则表达式来做到这一点,但是我的困难在于这种模式: 当我使用它时,它总是给我一个。如何修复我的正则表达式? 问题答案: 由于括号是正则表达式中的特殊字符,因此您需要对其进行转义以明确匹配它们。 例如:

  • 我想以firstName和lastname的形式获得输出。怎么用正则表达式做,有什么想法吗?

  • Change is inevitable, except from vending machines. — Robert C. Gallagher Puppet 的 regsubst 函数提供了一种处理文本的简单方法, 用于在字符串中查找和替换,或者从字符串提取匹配的模式。 例如,我们通常需要对从 facter 或者从外部程序获得的数据做这样的处理。 在本例中将会看到如何使用 regsubst 提

  • 问题内容: 输入线在下面 你能帮我写一个Java正则表达式来提取 从上方输入线? 问题答案: 更加简洁: