我想在golang中写一个正则表达式来去除引用单词中的空格,但是有一些条件: 如果前面有所谓的空格,则可以将引用视为引用, 如果单词中有引号(例如,不要),则不应使用它。
我试过这个功能:
func removeQuotationSpaces(s string) string {
re := regexp.MustCompile(`['"]\s*(.*?)\s*['"]`)
s = re.ReplaceAllString(s, " '$1' ")
return s
}
大多数情况下似乎没问题,但是“'我不知道你是谁”变成了这个“'我不知道你是谁”
func removeQuotationSpaces(s string) string {
re := regexp.MustCompile(`(?m)\b(?<!['"])\s*(['"])(?!\S)(.*?)\s*\1(?<! ['"])`)
s = re.ReplaceAllString(s, "$1$2$1")
return s
}
使用这个正则表达式,输入字符串“'我不知道你是谁”应该被转换为“'我不知道你是谁”而不添加任何额外的空格。