Ниже приведено простое значение типа шаблона = "[^\*]*"
, которое отвергает любое появление звездочки в строке, которая является символом, который мы обозначили как пустая строка соответствующий столбец базы данных:Регулярное выражение XML Schema, которое позволяет отображать символ последовательно, но отклоняется, если появляется только один раз.
<xsd:simpleType name="StringMin1Max80TypeBase">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="80"/>
<xsd:pattern value="[^\*]*"/>
</xsd:restriction>
</xsd:simpleType>
Некоторые из наших simpleTypes не имеют такого значения шаблона для того, чтобы позволить людям, чтобы войти в *
. Кто-то недавно представил элемент с указанным выше типом, который имеет эту строку: **WARNING**
, поэтому этот элемент был непреднамеренно отклонен. Есть ли способ разрешить последовательные символы, такие как **
или ***
и т. Д., Но отклонить появление ровно одного символа? Я знаю, что регулярные выражения XML Schema не используют отрицательный lookbehind и отрицательный lookahead, а символы <
и ?
недопустимы в значении шаблона.
Если это возможно, как насчет также разрешения *string*
, то есть нескольких символов, но не одного?
Большое спасибо.
Большое спасибо, Алан. Это работает для обоих случаев! – user1601696
Теперь меня спрашивают, можем ли мы отбросить точно единственный символ звездочки, но принять все остальное, включая одну звездочку, которая встречается внутри строки, например, * x. Таким образом, единственным отклоненным случаем является одиночная звездочка: *. Благодарю. – user1601696
Похоже, вам не нужно беспокоиться о случае «всего лишь одного звездочка». Мое оригинальное регулярное выражение должно совпадать как минимум с двумя символами, а альтернатива, которую я только что добавил к нему, не соответствует звездочкам. Это сделает это для вас? –