字符串的正则表达式不能包含逗号,半逗号,斜杠等

时间:2015-10-21 09:23:30

标签: regex xml cq5 aem

我正在处理一段正则表达式,字符串不能包含字符* /:[] |

这是我自己的尝试,但它并没有真正起作用

regex="/^[^*/:[]|]+/"

此正则表达式的目的实际上是我正在开发的Adobe CQ组件之一。要求是作者输入任何字符,如* /:[] |在对话框文本字段中,发出警告。 完整的对话框xml代码如下所示:

<fieldConfig
        jcr:primaryType="cq:Widget"
        allowBlank="false"
        regex="/^[^*/:[]|]+/"
        regexText="Please enter a valid character"
        xtype="textfield"/>

我无法让正则表达式正常工作。

1 个答案:

答案 0 :(得分:1)

似乎所有你需要的是逃避字符类中的[]添加$(字符串结尾)锚点:

regex="/^[^*\/:\[\]|]+$/"

如果正则表达式可以作为字符串传递,那么等价物是regex="^[^*/:\\[\\]|]+$"

字符串$锚点的结尾确保整个字符串不包含字符类中的字符。它只检查字符串开头的子字符串是否包含禁止符号。