问题描述
str="?tag0
1,2,3
4,5,6
?/tag0"
并且我想用\n?/tag0
代替?/tag1?/tag2?/tag0
str="?tag0
1,6?/tag1?/tag2?/tag0"
喜欢
(setq s (replace-regexp-in-string "[ \n\t\r]*\?/tag0" "?/tag1?/tag2?/tag0" str))
解决方法
*
表示零个或多个前面的模式。因此,这将在开头匹配,因为?tag0
前的换行符为零。
使用+
来匹配一个或多个模式。
要在正则表达式中添加文字\?
,您需要转义反斜杠。
(setq s (replace-regexp-in-string "[ \n\t\r]+\\?/tag0" "?/tag1?/tag2?/tag0" str))
,
(setq s (replace-regexp-in-string "[ \n\t\r?/]*tag0" "?/tag1?/tag2?/tag0" str))