如何在记事本中使用正则表达式替换字符串的一部分

时间:2019-02-20 15:48:46

标签: regex notepad++

我们如何进行以下操作:

从下面的字符串中:

"datetime": "date(2018-10-10)"
"datetime": "date(2018-10-11)"
"datetime": "date(2019-01-11)"
"datetime": "date(2018-02-15)"

收件人:

"datetime": date("2018-10-10")
"datetime": date("2018-10-11")
"datetime": date("2019-01-11")
"datetime": date("2018-02-15")

2 个答案:

答案 0 :(得分:0)

编辑:我没有意识到括号内的双引号...下面的答案只会去除json值之前和之后的引号-不在括号内添加双引号。相反,我在问题注释中发布了一个解决方案,建议2个查找/替换将获得所需的输出。

给这个镜头:(?<=": )"|"(?=\n)|"$替换为空白/空白。确保在N ++的“搜索模式”部分下选中“正则表达式”单选按钮。

说明:(?<=": )"|"(?=\n)|"$

  • (?<=": )"-积极向后看。在括号内出现模式之后匹配某些模式。在这种情况下,请在双引号,冒号和空格(“:)之后匹配双引号(”)。这将对要删除的行的第一引号进行分级。
  • |-逻辑或
  • "(?=\n)-积极向前看。与正面看一样,但在模式之后而不是之前。在这种情况下,请匹配一个双引号,该双引号后面有一个新行。这将捕获所有第二个双引号并将其删除。
  • |-逻辑或
  • "$-$表示字符串结尾。由于列表的最终键值对没有新行,因此“查找/替换”中将缺少最终报价。如果它是字符串的最后一个字符,它将捕获最后一个双引号。

答案 1 :(得分:0)

您可以使用以下搜索和替换。我在Notepad ++ v7.5.9上进行了测试

搜索

play "org.mariadb.jdbc:mariadb-java-client:2.1.2"

替换

"date\((.*?)\)"
相关问题