Регулярные выражения вытаскивание по шаблону
Имеется строка к примеру вот такая
var str = "Number of tube((13 Hi all people * _ +)) Number of tube((HI AKK))"; 1. Необходимо вытащить данные которые содержаться в круглых двойных скобках 2. Почему если в шаблоне содержится кириллица то при нахождении результата по шаблону вылазят какие-то кракозябры а не русские буквы ? Это не применительно к этому примеру а вообще ? Сильно не пинайте, только начал изучение регулярных выражений ... Я делаю вот так но не получается var reg = /Number of tube\(*(.*)\)*/; var str = "Number of tube((13 Hi all people * _ +)) Number of tube((HI AKK))"; var arr=reg.exec(str); document.write(arr); |
var reg = /\(+(.*?)\)+/g; var str = "Number of tube((13 Hi all people * _ +)) Number of tube((HI AKK))"; var arr=str.match(reg); alert(arr); только потом сделать реплейс каждому элементу (убрать скобки)... |
var str = "Number of tube((13 Hi all people * _ +)) Number of tube((HI AKK))"; alert(str.match(/([^\(\)]+)(?=\)+)/g)); Для нескольких результатов используйте match и флаг "g". Кстати, на сайте есть хорошая статья про регулярные выражения. |
Хорошо спасибо , а если мне важно знать вернее необходимо знать что находится перед двойными скобками ? Например в примере "Number of tube?" если строка например вида
var str = "Number of tube((13 Hi all people * _ +)) Number of tube((HI AKK)) Number of city((HI DEEP))"; И мне требуется найти то что находится между двойными скобками + перед двойными скобками должно стоять выражение Number of tube а по поводу второго вопроса могли бы помочь чем-нибудь ? Про проблему в кодировке ? |
ответ
var str = "Number of tube((13 Hi all people * _ +)) Number of tube((HI AKK)) Number of city((HI DEEP))"; alert(str.match(/Number of tube([^\(\)]+)(?=\)+)/g)); по поводу кодировки: проставлена ли кодировка на весь документ? |
ответ
хотелось бы взглянуть на содержимое, HTML+JS(если отдельно)
|
var str = "Number of tube13 Hi all people * _ +)) Number of tubeHI AKK))"; alert(str.match(/([^\(\)]+)(?=\)+)/g)); результат: Number of tube13 Hi all people * _ +,Number of tubeHI AKK |
Цитата:
|
Цитата:
|
var str = "1) Number of tube13(( Hi all people * _ +)) Number of tube((HI AKK))"; alert(str.match(/([^\(\)]+)(?=\)+)/g)); Результат - неверный :) |
Часовой пояс GMT +3, время: 16:05. |