Обрезать пробел и необязательные кавычки из строки RegEx - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть следующий RegEx, который должен обрезать необязательный пробел или кавычки в начале и конце строки.

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

У меня есть демо здесь .

Это работает для следующего:

    "Web_1,art_1"

, но с перерывами для следующего:

    Web_1,art_1

Я не могу получить дополнительную цитату в конце, чтобы работать.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Попробуйте это регулярное выражение:

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

Замените каждое совпадение пустой строкой

Нажмите для демонстрации

Объяснение:

  • ^[\s"]* - соответствует 0+ появлений пробела или " в начале строки
  • | - ИЛИ
  • [\s"]*$ - соответствует 0+ появлений либо пробела, либо " в конце строки
0 голосов
/ 20 февраля 2019

Добавьте звездочку в конце, как в начале.Затем сделайте .* нежадным с .*?: вы хотите, чтобы конечные группы или кавычки соответствовали любым конечным пробелам, а не внутренней.

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

Кроме того, для симметрии добавьте $ закрепите в конце и избавьтесь от | s.Строки чередования не принадлежат [...] классам символов.

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

Нет никакой реальной причины иметь внешние группы захвата.

/^[\s"]*(.*?)[\s"]*$/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...