我有一堆明文字符串需要转换为csv-ish语法,这样a, b, c and d.
就会变得"a","b","c","d"
。我用这个正则表达式完成了 90%:/(.+?), /g
(在此处显示为示例:http://regexr.com/3de7o(。但是我无法让它也对"d"变量执行相同的操作;在and
之后和.
之前捕捉任何东西.
编辑:为了澄清,需要拆分的内容通常是多个单词,例如 This phrase, another phrase and last phrase.
-> "This phrase","another phrase","last phrase"
你可以做:
(?:sand)?(?:s)?([^,.]+)
(?:sand)?
匹配零个或一个空格,后跟and
;这将解决最后一个(?:s)?
匹配所需模式之前的零个或一个空格以上两个放在非捕获组中
在捕获的组中
([^,.]+)
我们得到所需的模式,即下一个,
或.
(最后一个(之前的任何字符。
正如@Amadan所建议的,当您要替换时,请捕获逗号,同时保留最后一个.
:
(?:sand)?(?:s)?([^,.]+)(?:(,)|.)
现在在替换中,您可以使用:
"$1"$2
演示