【问题标题】:Replace if starts with something and ends with something替换 if 以某事开头并以某事结尾
【发布时间】:2018-04-03 02:09:09
【问题描述】:

考虑以下几点:

String test = "%placeholder_test% %placeholder_another%";

应该在test.replaceAll(regex, "placeholder") 中放入什么正则表达式,以便如果以“%placeholder_”开头并以“%”结尾的字符串部分将被替换为“占位符”?

预期输出:“placeholder placeholder”。

【问题讨论】:

  • 您正在投票,因为您没有针对您的问题展示您自己的代码尝试。

标签: java regex replace


【解决方案1】:

这是一个非常简单的正则表达式:

/%placeholder_[^%]+%/

说明:

  1. %placeholder_ 从字面上匹配第一部分。
  2. [^%] 匹配任何不是 '%' 的字符(任何未放在 [^...] 中的字符都将被匹配)。
  3. + 至少匹配任何字符序列一次或多次。
  4. % 匹配 '%' 字符的字面意义。

Regex101.com

你应该开始自己学习正则表达式,试试看这个cheat sheet作为初学者。

【讨论】:

  • +的用法是什么?
  • 我添加了一些解释以帮助您理解。我在答案末尾的链接将指导您完成这些步骤。
  • 你为什么要逃避%?它不是正则表达式中的特殊字符。
  • 你说得对,这是我的错,Regex101.com 在我开始输入正则表达式时只是假设 % 是我的分隔符,我没有注意然后假设我不得不转义它 x) 我编辑了我的帖子以更正。
猜你喜欢
  • 2021-10-20
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多