正则表达式替换字符串中的字符

时间:2017-01-04 17:31:09

标签: regex notepad++

我应该在Notepad ++中使用什么正则表达式来替换以下字符串中的所有??目标字符串由/之后和.jpg之前的所有字符生成?

example.com/longtext?longtext.jpg
example.com/anothertext?anothertext.jpg
example.com/text?text.jpg
...

您会使用什么正则表达式将?替换为_

3 个答案:

答案 0 :(得分:2)

  • 控制 + ħ
  • 找到:(/[^/]+)\?(?=.+?\.jpg)
  • 替换为:$1_
  • 全部替换

答案 1 :(得分:1)

这里不需要正则表达式。

你正在寻找一个角色"?&#34 ;;并且你想用" _"替换它。对于那个"这是一个简单的"取代大多数语言可以处理而不需要转向正则表达式。

答案 2 :(得分:1)

您可以使用以下正则表达式。它使用正向前瞻来选择所有?,其后面是(?=)内的模式。问号和.jpg之间的字符选择器具有非贪心量词*?,允许在一个字符串内进行多次替换。搜索到的元素也将位于匹配组$ 1:

(\?)(?=.*?\.jpg\b)

要匹配所有出现的情况,您需要使用特定于语言的函数或标记/g

/(\?)(?=.*?\.jpg\b)/g