Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

подскажите по регулярке

подскажите по регулярке
Я
   DES
 
23.01.19 - 20:43
есть  pattern '/^[A-Z-ĂÎȘȚÂ .-]+$/u'.
Почему ругается на 'ASDFG ASDFG' в XML при проверке на схему

<namettl>ASDFG ASDFG</namettl>

ERROR: Element 'namettl': [facet 'pattern'] The value 'ASDFG ASDFG' is not accepted by the pattern '/^[A-Z-ĂÎȘȚÂ .-]+$/u'.
ERROR: Element 'namettl': 'ASDFG ASDFG' is not a valid value of the local atomic type.
 
 
   Cyberhawk
 
1 - 23.01.19 - 20:44
Есть же сайт
   DES
 
2 - 23.01.19 - 20:49
какой?
   palsergeich
 
3 - 23.01.19 - 20:50
Ты про XDTO?
В XDTO проверка куцая.
http://forum.infostart.ru/forum9/topic147761/message1969231/#message1969231 конкретно в твоем случае валит - $
   Cyberhawk
 
4 - 23.01.19 - 20:51
(2) Проверка регулярки и содержимого
   palsergeich
 
5 - 23.01.19 - 20:53
(4) Тут не в этом дело.
У него судя по сообщению facet 'pattern - вылетает при проверки схемы XDTO. 1с не умеет в $
   DES
 
6 - 23.01.19 - 20:54
нет, я делаю в 1с8 xml
потом notepad++ проверяю по схеме, вот там и ругается
   AlvlSpb
 
7 - 23.01.19 - 20:55
(5) Почему не умеет $ ? Меня смущает слэш / в начале шаблона. Что это?
   AlvlSpb
 
8 - 23.01.19 - 20:58
(0) Словами изложи какое условие надо (шаблон)
   palsergeich
 
9 - 23.01.19 - 20:58
[A-Z-ĂÎȘȚÂ .-] вот так работает
   palsergeich
 
10 - 23.01.19 - 20:59
И вот ^[A-Z-ĂÎȘȚÂ .-]+$ работает (не в 1с)
 
 Рекламное место пустует
   DES
 
11 - 23.01.19 - 20:59
мне не регулярку нужно исправить а строку под нее
   palsergeich
 
12 - 23.01.19 - 21:01
(11) Тебе надо ты и поправляй)
   AlvlSpb
 
13 - 23.01.19 - 21:02
(11) Так как исправишь строку если шаблон неверен? Откуда этот шаблон? И вопрос (8) остается
   DES
 
14 - 23.01.19 - 21:02
(13)  шаблон с сайта на который нужно загружать этот xml
   palsergeich
 
15 - 23.01.19 - 21:03
Меня смущает /^ и $/u
/^ экранированный символ начала строки 

$/u после конца строки экранируется u
   palsergeich
 
16 - 23.01.19 - 21:05
https://ru.infobyip.com/regularexpressioncalculator.php да их тысячи на проверку регулярок
https://www.freeformatter.com/xml-validator-xsd.html валидность на схему. Их тоже много
   palsergeich
 
17 - 23.01.19 - 21:06
http://www.utilities-online.info/xsdvalidation/#.XEis8lwzaUk
Вот тут можно проверить валидность самой схемы в принципе. Ну и соответствие XML схеме
   AlvlSpb
 
18 - 23.01.19 - 21:06
(14) Уверен, что шаблон для 1с? Просто, могу ошибаться, но не знаю я символа / в 1с. Если это сам слэш (типа надо найти /b) то должно быть //.
   DES
 
19 - 23.01.19 - 21:09
(18) не прием тут 1с8.
в 1с8 генирится xml, а проверятся не в 1с8
   palsergeich
 
20 - 23.01.19 - 21:09
(19) А ты уверен что на сайте нет ошибки?
   AlvlSpb
 
21 - 23.01.19 - 21:10
Пробуй (10) и даже (11) должно работать. По поводу (11) не согласен, много раз использовал и символ начала строки ^ и символ конца строки $ и все работает
   palsergeich
 
22 - 23.01.19 - 21:12
просто шаблон очень странный для фассета. там вроде как после конца строки не может быть символа.
(21) у меня 3 месяца назад не взлетел ни ^  ни $
   DES
 
23 - 23.01.19 - 21:12
все нашел !
нужно экранировать тире
^[A-Z-ĂÎȘȚÂ .\-]+$
наверно так имелось ввиду на сайте
   AlvlSpb
 
24 - 23.01.19 - 21:13
(23) Блин! Ну говорил же СЛЭШ!!!
   palsergeich
 
25 - 23.01.19 - 21:13
ЛОООЛ
/^[A-Z-ĂÎȘȚÂ .-]+$/u ну не похоже на ^[A-Z-ĂÎȘȚÂ .\-]+$
   AlvlSpb
 
26 - 23.01.19 - 21:16
(25) Объясни, пож, что может означать /^ (зачем слэш перед символом начала строки) и /u - это вообще не понимаю. Регулярку изучал сам по книжке, могу чего-то незнать
   DES
 
27 - 23.01.19 - 21:16
ну тогда не знаю
   DES
 
28 - 23.01.19 - 21:17
в схеме так описано
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="/^[A-Z-ĂÎȘȚÂ .\-]+$/u"/>
</xs:restriction>
</xs:simpleType>
   DES
 
29 - 23.01.19 - 21:22
(16) проверяю схему на сайте указанном - дает ошибку
InvalidRegex: Pattern Value '/^[A-Z-ĂÎȘȚÂ .-]+$/u' Is Not A Valid Regular Expression. The Reported Error Was: ''-' Is An Invalid Character Range. Write '\-'.'.
   DES
 
30 - 23.01.19 - 21:23
куда то девает экран перед тире
   AlvlSpb
 
31 - 23.01.19 - 21:23
(28) Теперь въехал ))). Это не регулярка в 1С. И черт его знает что там имели в виду
   DES
 
32 - 23.01.19 - 21:27
вроде бы простое выражение, а что значить $ ?
   palsergeich
 
33 - 23.01.19 - 21:35
$ конец строки
 
 
   AlvlSpb
 
34 - 23.01.19 - 22:01
(32) Вот это ^[A-Z-ĂÎȘȚÂ .-]+$ читается (хотя и есть нюансы).
Словами: Найти строку которая начинается (символ начала строки ^) с любой заглавной латинской буквы или тире или символов ĂÎȘȚÂ или точки или тире  (все что в квадратных скобках). Дальше один или несколько символов которые стоят перед + и Конец строки $
Т.е. шаблону будут соответствовать строки примерно:АА,ССС, .., -----, ÎÎ
   palsergeich
 
35 - 23.01.19 - 22:06
Там еще пробел есть, его просто видно плохо, но он есть.
Короче если по простому - заглавные буквы латинского алфавита + ĂÎȘȚÂ + символ тире и точка (она почему то не экранирована, ибо тогде убивает все другие множества). По простому - большие буквы без цифр
   palsergeich
 
36 - 23.01.19 - 22:07
и без спец символов
   DES
 
37 - 23.01.19 - 22:36
а какого черта сайт убирает слеш перед тире и пишет поставьте слеш
Write '\-'.'.
   palsergeich
 
38 - 23.01.19 - 22:38
   DES
 
39 - 23.01.19 - 23:29
да, этот
   AlvlSpb
 
40 - 24.01.19 - 00:08
(35) "и точка (она почему то не экранирована" ©
Все спец знаки внутри квадратных скобок имеют прямое значение символа а не спец символа. Т.е. точка (.) - это точка, звездочка (*) - это не любой знак, а только звездочка. Чтобы указать в квадратных скобках спец символ надо поставить обратный слэш (\*). Но все это верно для регулярных выражений в 1С!
(37) Так что могу предположить, что \- в твоем шаблоне всего навсего обратный слэш и тире как первый знак строки, т.к. тире (-) нет в списке спец символов
[ ] \ / ^ $ . | ? * + ( ) { }
   AlvlSpb
 
41 - 24.01.19 - 00:10
Или....., что очень вероятно и скорей всего, приведенный пример не на 1С и надо искать инфу по регулярке не на форуме по 1С
   DES
 
42 - 24.01.19 - 20:23
Начал делать через XDTO - не пропускает даже такое имя SMIT GANS


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует