Orbeon使用什么口味的RegEx?

Orbeon使用什么口味的RegEx?,regex,orbeon,xforms,formbuilder,Regex,Orbeon,Xforms,Formbuilder,我试图在orbeon Form Builder中添加一个常规的印象,以防止输入带有“and”的内容。我面临的问题是,我尝试的每个正则表达式组合都会以某种方式失败验证。不是在焦点更改时,而是在提交表单时 正则表达式:[^']{0512}/m 应允许所有最多512个字符(包括512个字符)的字符串不包括上述“和”。包括带回车符的字符串 在Orbeon的“公式”字段中:匹配(,“^[^”“”]{0512}$,“m”) 问题在于,Orbeon根据“和”是在字符串中回车之前还是之后输入的,以不同的方式验证

我试图在orbeon Form Builder中添加一个常规的印象,以防止输入带有“and”的内容。我面临的问题是,我尝试的每个正则表达式组合都会以某种方式失败验证。不是在焦点更改时,而是在提交表单时

正则表达式:
[^']{0512}/m

应允许所有最多512个字符(包括512个字符)的字符串不包括上述
。包括带回车符的字符串

在Orbeon的“公式”字段中:
匹配(,“^[^”“”]{0512}$,“m”)

问题在于,Orbeon根据
是在字符串中回车之前还是之后输入的,以不同的方式验证表达式

例如:

这将失败(即表达式已成功验证):

这将通过(即表达式不起作用):

我有两个问题:

  • 为什么验证会因
    的位置不同而不同
  • 什么表达式可以使验证按预期工作

  • 你能发布一些代码吗?看起来它只考虑了输入的第一行。如果你去掉
    “m”
    标志会发生什么?回答标题中的问题:味道就是其中的一个。无论是什么味道,在多行模式下锚定(
    ^
    $
    )应该在行边界处匹配,这不是您想要的。事实上,两个输入都应该匹配,因为每个输入至少包含一行,其中没有
    。某个地方似乎有一个bug,但是您应该可以通过删除
    “m”
    标志来解决问题。您可以发布一些代码吗?看起来它只考虑输入的第一行。如果去掉
    “m”
    标志会发生什么情况?回答标题中的问题:味道就是来自的味道。不管它是什么味道,在多行模式下,锚(
    ^
    $
    )应该在行边界匹配,这不是您想要的。事实上,您的两个输入都应该匹配,因为每个输入至少包含一行,其中没有
    。似乎某个地方存在错误,但您应该能够通过删除
    “m”
    标志来解决问题。
    Hi my dog's collar is blue
    this is because it is my favorite colour.
    
    Hi
    my dog's collar is blue
    this is because it is my favorite colour.