Вы, кажется, неправильно поняли, как работает определение классов символов в regex.
Чтобы соответствовать любой из строк 01
, 02
, 03
, 04
, 05
, 06
, 07
, 08
, 09
, 10
, 11
или 12
, что-то вроде этого работает:
0[1-9]|1[0-2]
Класс символов сам по себе пытается сопоставить один и ровно один символ из входной строки. [01-12]
на самом деле определяет [012]
, класс символов, который соответствует одному символу от ввода против любого из трех символов 0
, 1
или 2
.
Диапазон -
определение от 1
до 1
, которое включает только 1
. С другой стороны, что-то вроде [1-9]
включает в себя 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
.
Начинающие часто делают ошибки определения таких вещей, как [this|that]
. Это не «работает». Это определение символа определяет [this|a]
, то есть оно соответствует одному символу ввода от любого из 6 символов в t
, h
, i
, s
, |
или a
. [29]
Итак, теперь очевидно, что такой шаблон, как between [24-48] hours
, не работает, , Класс символов в этом случае эквивалентен [248]
.
То есть, -
в определении класса символов не определяет числовой диапазон в шаблоне. Двигатели Regex на самом деле не «понимают» числа в шаблоне, за исключением синтаксиса конечного повторения (например, a{3,5}
соответствует между 3 и 5 a
).
Определение диапазона вместо этого использует ASCII / Unicode кодирование символов для определения диапазонов. Символ 0
закодирован в ASCII как десятичный 48; 9
равно 57. Таким образом, определение символа [0-9]
включает в себя весь символ, значения которого находятся между десятичными значениями 48 и 57 в кодировке. Скорее разумно, по дизайну это символы 0
, 1
, ..., 9
.
Давайте посмотрим на другое определение общего символьного класса [a-zA-Z]
В ASCII:
A
= 65, Z
= 90 a
= 97, z
= 122 Это означает, что:
[a-zA-Z]
и [A-Za-z]
эквивалентны [a-Z]
, скорее всего, является незаконным диапазоном символов, поскольку a
(97) «больше чем», чем Z
(90) [A-z]
является законным, но также включает в себя эти шесть символов: [
(91), \
(92 ) ]
(93), ^
(94), _
(95), `` `(96) По умолчанию сервер Neo4j недоступен удаленно.
Вам нужно изменить $ NEO4J_HOME / conf / neo4j.conf .
Найдите эту строку:
#dbms.connector.http.address=localhost:7474
и замените ее на:
dbms.connector.http.address=0.0.0.0:7474
Установка адреса разъема на 0.0.0.0 делает его доступным удаленно. [116 ]