【发布时间】:2011-09-05 01:14:03
【问题描述】:
是否可以在 gsub 表达式中使用否定匹配?
我想替换以hello开头的字符串除了那些以hello Peter开头的字符串
my-string.gsub(/^hello@/i, '')
我应该用什么代替@?
【问题讨论】:
-
您的问题不清楚。如果一个字符串以“hello”开头,它在哪里结束?我想你的意思不仅仅是字符串“hello”。
-
对不起,我认为“以该模式开头的字符串”是指任何以该模式开头的字符串,但没有指定之后的内容......任何让它更清晰的建议,我会编辑记录在案。
-
开头部分很清楚。不清楚的是,它在哪里结束。您只是对字符串“hello”或以“hello”开头并持续一定长度的字符串感兴趣吗?我以为你想要后者,如果是这样的话,NeX,s answser 将是合适的。如果您只想说“你好”,那么迈克尔的回答很好。
-
我的意思是后者,尽管一个简单的“hello”(因为它后面没有“peter”)也应该匹配。也许我遗漏了一些东西,但除了空格位置之外,两个答案对我来说似乎都是正确的......迈克尔的答案为我捕获了任何长度和字数的字符串。
-
Michael 会进行某种查找,但会漏掉几个案例。
We are martians and we say 'hello peter' all the time将匹配。hello单独不匹配。