我有字符串"(1,2,3,4,5,6),(1,2,3)"
我想将其更改为"('1','2','3','4','5','6'),('1','2','3')"
- 将所有符合/([^,)("])/
的部分替换为'$1', '$2'
等
答案 0 :(得分:1)
"(1,2,3,4,5,6),(1,2,3)".gsub(/([^,)("]\w*)/,"'\\1'")
gsub
是String class中的“全局替换”方法。它找到给定正则表达式的所有次出现,并用作为第二个参数给出的字符串替换它们(而不是仅替换第一次出现的sub
)。该字符串可以包含对regexp中标有()
的组的引用。第一组是\ 1,第二组是\ 2,依此类推。
答案 1 :(得分:1)
尝试
mystring.gsub(/([\w.]+)/, '\'\1\'')
这将替换数字(整数/浮点数)和单词及其“引用包围”的自我,同时单独留下标点符号(除了点)。
答案 2 :(得分:0)
更新:我想你想搜索这个
(([^,)("])+)
并将其替换为
'$1'
查找任何内容一次或多次,并将其分配给$ 1变量槽,因为使用了“\ d”周围的括号。替换部件将使用它找到的替换值。