【问题标题】:Regex in java, group matchingjava中的正则表达式,组匹配
【发布时间】:2010-12-13 14:57:48
【问题描述】:

您好,java 和 regex 组是如何工作的。例如。我想匹配any text 'something',匹配的方式是.+\s+'(.+)'{1},如何将任何文本“某物”替换为某物?

意思是用第一个匹配的组替换匹配的字符串。

【问题讨论】:

  • 仅供参考,您的{1} 是多余的——{1} 隐含在每个原子上。
  • 请举一个更具体的例子,例如精确输入ABCXYZ,精确期望输出ABC123 或其他。
  • 对于正则表达式,我总是去interwebz上查看,在fileformat.info/tool/regex.htm之类的网站上
  • @cdhowie,{1} 也只检查单个 ',这不太可能是 OP 的意图。
  • @Brad:但是' 已经 做到了。 ' 等价于 '{1}。而{1} 应用在正则表达式的任何地方都是没有意义和多余的,因为它永远不会修改任何正则表达式的行为。

标签: java regex


【解决方案1】:

如果您只是想删除单引号,以下将起作用。

yourString.replaceAll("'([^']+)'", "$1");

这将搜索 2 个引号之间的文本。并仅将其替换为文本。

System.out.println("any text 'something'".replaceAll("'([^']+)'", "$1"));

打印any text something

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 2011-03-30
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    相关资源
    最近更新 更多