修剪字符串RegEx中的空格和可选引号

时间:2019-02-20 02:45:17

标签: regex

我有以下RegEx,它应该修剪字符串开头和结尾处的可选空白或引号。

/(^[\s|"]*)(.*)([\s|"])/

我有演示here

它适用于以下情况:

    "Web_1,art_1"

但由于以下原因而中断:

    Web_1,art_1

我无法在工作结束时得到可选的报价。

2 个答案:

答案 0 :(得分:4)

尝试此正则表达式:

^[\s"]*|[\s"]*$

将每个匹配项替换为空白字符串

Click for Demo

说明:

  • ^[\s"]*-在字符串的开头匹配0+次出现的空白或"
  • |-或
  • [\s"]*$-在字符串末尾匹配0+次出现的空格或"

答案 1 :(得分:1)

像在开头一样在结尾处添加星星。然后将.*.*?设为非贪婪:您希望尾随组(而不是内部的)匹配尾随空格或引号。

/(^[\s|"]*)(.*?)([\s|"]*)/

此外,为了对称起见,请在末尾添加一个$锚,并删除|。替换条不属于[...]字符类之内。

/(^[\s"]*)(.*?)([\s"]*$)/

也没有理由拥有外部捕获组。

/^[\s"]*(.*?)[\s"]*$/