Hyphen для после 2-го символа

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update 
sudo apt-get install google-chrome-stable 

, это правильный код для ubuntu:)

-3
задан 13 August 2018 в 15:25

2 ответа

Ваше регулярное выражение должно просто указывать точное количество символов в фигурных скобках. При замене обратитесь к группам захвата.

Используйте '-?' или '.?' чтобы разрешить дополнительный (тире или любой) разделитель. Или, если вы не хотите разрешать разделители.

Возможно, вы захотите также включить дополнительные поля вокруг вашего ввода ...

let inputValues = ['122018', '12-2018', '2018']
let res = rx = /(\d{2})(\d{4})/
//let res = rx = /(\d{2})-?(\d{4})/

inputValues.forEach(inputValue => {
  let m = res.exec(inputValue)
  if (m) {
    console.warn('good input: ' + inputValue)
    //console.log(m[1] + '/' + m[2])
  } else {
    console.warn('bad input: ' + inputValue)
  }
})

0
ответ дан 15 August 2018 в 17:01
  • 1
    Спасибо за повтор, я собираюсь попробовать таким образом, тем временем я хотел бы спросить, что мой вход может понравиться, пусть inputValue = '122018' – Jaison 13 August 2018 в 15:32
  • 2
    Я обновлю решение. – Steven Spungin 13 August 2018 в 15:35

date = '122018';
arr = date.match(/^(..)(.+)$/);
res = [arr[1],arr[2]].join('-');
console.log(res);

0
ответ дан 15 August 2018 в 17:01
  • 1
    Спасибо за повтор! Я хотел бы использовать "match" вместо "замены" по какой-то причине. Я уже использовал как replace (/ ^ (. {2}) /, «$ 1-»), но мне было трудно использовать обратное пространство в поле ввода. – Jaison 13 August 2018 в 15:35
  • 2
    @Jaison: см. Мое редактирование. – Toto 13 August 2018 в 15:43

Другие вопросы по тегам:

Похожие вопросы: