我正在处理一段正则表达式,字符串不能包含字符* /:[] |
这是我自己的尝试,但它并没有真正起作用
regex="/^[^*/:[]|]+/"
此正则表达式的目的实际上是我正在开发的Adobe CQ组件之一。要求是作者输入任何字符,如* /:[] |在对话框文本字段中,发出警告。 完整的对话框xml代码如下所示:
<fieldConfig
jcr:primaryType="cq:Widget"
allowBlank="false"
regex="/^[^*/:[]|]+/"
regexText="Please enter a valid character"
xtype="textfield"/>
我无法让正则表达式正常工作。
答案 0 :(得分:1)
似乎所有你需要的是逃避字符类中的[
和]
添加$
(字符串结尾)锚点:
regex="/^[^*\/:\[\]|]+$/"
如果正则表达式可以作为字符串传递,那么等价物是regex="^[^*/:\\[\\]|]+$"
。
字符串$
锚点的结尾确保整个字符串不包含字符类中的字符。它只检查字符串开头的子字符串是否包含禁止符号。