На самом деле я отредактировал свой конфигурационный файл, который теперь выглядит следующим образом:
input {
. . .
}
filter {
. . .
}
output{
elasticsearch{
hosts => "localhost:9200"
index => "testindex"
}
}
И теперь я могу получить данные изasticSearch, используя
curl 'localhost : 9200 / testindex / _search '
blockquote>Я не знаю, как это работает, но сейчас это так. Кто-нибудь может объяснить, почему?
Это говорит, что Ваша строка содержит только 0... это должно начать, затем иметь 1 или более 0, затем закончиться.
$ ^0+
Если Вы хотите, чтобы это соответствовало Вашей строке, Вы хотите, чтобы Ваш regexp был чем-то как:
var pattern = /^0+.*0+$/
Это будет соответствовать 1 или более '0 вначале, 1 или более '0 в конце и 0 или больше из чего-либо в середине.
Шаблон по крайней мере одного 0, привязанный на обоих начало (^) и конец ($) строки; другими словами, строка состоит из одного или нескольких, обнуляет.
Соответствовать строке, состоящей из цифр от 0 до 9, и запускающейся и заканчивающейся по крайней мере одним нулем, шаблоном
/^0+[0-9]+0$/
работал бы, т.е. соответствовал бы, один или несколько обнуляет, затем одна или несколько цифр 0-9, заканчивающихся в нуле.
Если иначе не проинструктировано, JavaScript будет рассматривать всю строку как одну строку, игнорируя символы новой строки; чтобы вынудить это рассмотреть несколько отдельных строк, используйте m модификатор, например.
/regex/m
См. также: Обзор регулярного выражения JavaScript Центра разработки Mozilla
При ответе на обновление - Вы - вид права. Строка, которой regex попытается соответствовать, действительно имеет начало, середину и конец.
Но Вы знаете что? Все строки имеют начало и конец.
Ваш regex говорит, строка должна иметь начало, конец, и промежуточный эти два, только строка нулей.
Не думайте о Вашем 000000
как являющийся в запуске или Вашем 900000
как являющийся в конце. На самом деле проигнорируйте идею начать и конец на мгновение.
/0+/
/^0+$/
почему мы добавляем ^ и $?
Поскольку нет никакой regex нотации для "и ничто иное", таким образом, мы должны указать, "запускаются строки, некоторых нулей, конца строки", которая приходит к тому же самому.
Между прочим, Вы поняли это превратно также:
если существует шаблон одного или нескольких нулей вначале и конца, то возвратите тот шаблон
Ваш regex не возвратится, "который шаблон", он только возвратит true
. Вам нужны скобки для овладения шаблоном: /^(0+)$/
@CodeCurious, Вы все еще делаете это более сложным, чем это должно быть. regex /^0+$/
просто означает, что вся строка состоит из одного или нескольких нулей. Regexes предлагают много возможностей для беспорядка, поэтому принимают простоту везде, где можно найти его.
Я всегда помещал своего Regex в человеческие слова, чтобы удостовериться, что это - то, что я имел в виду.
Это: $ ^0+
Читал бы следующим образом: "Если от запуска (^) моей строки, Вы находите по крайней мере один (+) нуль (0) и ничто иное до конца ($) строки".
Помните, regex является в основном набором операторов "If". Таким образом, сначала это должно быть "верно", и ЗАТЕМ это возвратит самый лучший результат. Regex никогда не будет возвращать "несколько истинное", или "главным образом истинный" результат.