Я пытаюсь проанализировать выражение в элементе . Я хочу сделать преобразование точек в JavaScript. < /P>
Мой первый шаг - проанализировать выражение пути. Я занимался этим с помощью корпорации (см. Ниже). Код, который я не веду, как ожидал. Он находит только последнее событие каждой группы. Как лучше всего заставить эту работу? Возможно ли с помощью Regexp? Если это единственный способ, которым Regexp может вести себя в JavaScript, я полагаю, что мне приходится соответствовать первой регуляции, а затем проведите оставшуюся основание с обычным JavaScript. Но я хотел бы сначала узнать, возможно ли это с другим кодом на основе Regexp. Я хотел бы научиться пользоваться Regexp лучше.
let path = `M4,24
L4,23
Q12,23,12, 9
L14, 9
C15, 3,25, 3,26,9
L28,9
Q28,23,36,23
L36,24
Z`
// This function does is dysfunctional
function parsePath(path) {
// To simplify the match RegExp, I simplify the path string first:
// All comma's and all whitespace characters are simplified to a simple separator space.
let path2 = path.replaceAll(/[,\s]+/g, ' ')
let rgx = /([A-Za-z])(?:(\d+)\s+)*/g
let matches = [...path2.matchAll(rgx)].map(x => {
return [x[1], x.slice(2)]
})
return matches
}
console.log(parsePath(path))
// OUTPUT:
[
[ 'M', [ '24' ] ],
[ 'L', [ '23' ] ],
[ 'Q', [ '9' ] ],
[ 'L', [ '9' ] ],
[ 'C', [ '9' ] ],
[ 'L', [ '9' ] ],
[ 'Q', [ '23' ] ],
[ 'L', [ '24' ] ],
[ 'Z', [ undefined ] ]
]
// EXPECTED AND DESIRED OUTPUT:
[
[ 'M', [ '4', '24' ] ],
[ 'L', [ '4', '23' ] ],
[ 'Q', [ '12', '23', '12', '9' ] ],
// ...
]
Подробнее здесь: https://stackoverflow.com/questions/796 ... javascript
Как получить все совпадения для повторной группы в корпорации в JavaScript? ⇐ Javascript
Форум по Javascript
1750496786
Anonymous
Я пытаюсь проанализировать выражение в элементе . Я хочу сделать преобразование точек в JavaScript. < /P>
Мой первый шаг - проанализировать выражение пути. Я занимался этим с помощью корпорации (см. Ниже). Код, который я не веду, как ожидал. Он находит только последнее событие каждой группы. Как лучше всего заставить эту работу? Возможно ли с помощью Regexp? Если это единственный способ, которым Regexp может вести себя в JavaScript, я полагаю, что мне приходится соответствовать первой регуляции, а затем проведите оставшуюся основание с обычным JavaScript. Но я хотел бы сначала узнать, возможно ли это с другим кодом на основе Regexp. Я хотел бы научиться пользоваться Regexp лучше.
let path = `M4,24
L4,23
Q12,23,12, 9
L14, 9
C15, 3,25, 3,26,9
L28,9
Q28,23,36,23
L36,24
Z`
// This function does is dysfunctional
function parsePath(path) {
// To simplify the match RegExp, I simplify the path string first:
// All comma's and all whitespace characters are simplified to a simple separator space.
let path2 = path.replaceAll(/[,\s]+/g, ' ')
let rgx = /([A-Za-z])(?:(\d+)\s+)*/g
let matches = [...path2.matchAll(rgx)].map(x => {
return [x[1], x.slice(2)]
})
return matches
}
console.log(parsePath(path))
// OUTPUT:
[
[ 'M', [ '24' ] ],
[ 'L', [ '23' ] ],
[ 'Q', [ '9' ] ],
[ 'L', [ '9' ] ],
[ 'C', [ '9' ] ],
[ 'L', [ '9' ] ],
[ 'Q', [ '23' ] ],
[ 'L', [ '24' ] ],
[ 'Z', [ undefined ] ]
]
// EXPECTED AND DESIRED OUTPUT:
[
[ 'M', [ '4', '24' ] ],
[ 'L', [ '4', '23' ] ],
[ 'Q', [ '12', '23', '12', '9' ] ],
// ...
]
Подробнее здесь: [url]https://stackoverflow.com/questions/79674270/how-to-get-all-the-matches-for-a-repeated-group-in-a-regexp-in-javascript[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия