Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Orbeon Forms -验证正则表达式先行

Orbeon Forms -验证正则表达式先行
EN

Stack Overflow用户
提问于 2020-07-20 12:48:40
回答 1查看 63关注 0票数 1

我想在文本字段上使用正则表达式验证公式。下面是一个纯正则表达式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
^(?!(?:\D*\d){7})\d+(\.\d{1,2})?$

当我在正则表达式在线工具(例如:https://regex101.com/)中测试这个表达式时,一切正常。但当我尝试在Orbeon中使用它作为验证器时,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
matches(string(.), '^(?!(?:\D*\d){7})\d+(\.\d{1,2})?$')  or xxf:is-blank(string(.))

我得到错误‘不正确的XPath表达式’。

当我从正则表达式先行部分中删除时,我就可以使用它了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
matches(string(.), '^\d+(\.\d{1,2})?$')  or xxf:is-blank(string(.))

Orbeon Forms是否支持regex lookahead?正则表达式前视:https://www.regular-expressions.info/lookaround.html

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-20 20:39:05

重写表达式而不使用前视。它匹配不超过6位数字的字符串。

使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
^(\d{1,4}(\.\d{1,2})?|\d{5}(\.\d)?|\d{6})$

请参阅proof

解释

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NODE                     EXPLANATION
--------------------------------------------------------------------------------
  ^                        the beginning of the string
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    \d{1,4}                  digits (0-9) (between 1 and 4 times
                             (matching the most amount possible))
--------------------------------------------------------------------------------
    (                        group and capture to \2 (optional
                             (matching the most amount possible)):
--------------------------------------------------------------------------------
      \.                       '.'
--------------------------------------------------------------------------------
      \d{1,2}                  digits (0-9) (between 1 and 2 times
                               (matching the most amount possible))
--------------------------------------------------------------------------------
    )?                       end of \2 (NOTE: because you are using a
                             quantifier on this capture, only the
                             LAST repetition of the captured pattern
                             will be stored in \2)
--------------------------------------------------------------------------------
   |                        OR
--------------------------------------------------------------------------------
    \d{5}                    digits (0-9) (5 times)
--------------------------------------------------------------------------------
    (                        group and capture to \3 (optional
                             (matching the most amount possible)):
--------------------------------------------------------------------------------
      \.                       '.'
--------------------------------------------------------------------------------
      \d                       digits (0-9)
--------------------------------------------------------------------------------
    )?                       end of \3 (NOTE: because you are using a
                             quantifier on this capture, only the
                             LAST repetition of the captured pattern
                             will be stored in \3)
--------------------------------------------------------------------------------
   |                        OR
--------------------------------------------------------------------------------
    \d{6}                    digits (0-9) (6 times)
--------------------------------------------------------------------------------
  )                        end of \1
--------------------------------------------------------------------------------
  $                        before an optional \n, and the end of the
                           string
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62995742

复制
相关文章
使用html和css制作水平导航栏nav
使用html和css制作水平导航栏nav的方法及其效果: 1、li设置float:left; (1)代码片段:
全栈程序员站长
2022/09/01
3.8K0
HTML导航栏制作
注释:加上 target=”_blank” 的话,点击有链接的文字,就会新打开一个标签页,若不加,则在本页面上直接打开链接网页。
全栈程序员站长
2022/09/01
4.8K0
纯HTML CSS制作导航栏 下拉菜单
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140190.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/01
6.3K0
html导航栏自动调间距,HTML CSS导航栏间距[通俗易懂]
我做了一个CSS导航栏,但是在每个“navbar-item”之间,都有一点空间。我不希望那里有任何变化!有没有办法做到这一点,而不改变每个navbar-item的余裕?HTML CSS导航栏间距
全栈程序员站长
2022/09/01
5.5K0
CSS + HTML导航栏效果
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140426.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
4.6K0
HTML+CSS 简单的顶部导航栏菜单制作
img标签,导入图片,a标签超链接 ,img导入图片,防止图片失真width和height设置一个就可以了
全栈程序员站长
2022/09/02
3.8K0
导航栏滚动渐变效果 html+css+js
6.当页面有滚动后导航栏的样式,padding上下变小,字体颜色变,有了蓝背景色:
全栈程序员站长
2022/08/24
9.3K0
导航栏滚动渐变效果 html+css+js
html里制作简单导航栏
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140112.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/01
4.4K0
点击导航栏,切换div内容(js+css+html)[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140453.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/24
12.7K0
点击导航栏,切换div内容(js+css+html)[通俗易懂]
html导航栏可以展开的下拉菜单,html导航栏下拉菜单如何制作[通俗易懂]
小编给大家分享一下html导航栏下拉菜单如何制作,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
全栈程序员站长
2022/09/01
8.8K0
第8天:CSS制作导航栏
今天主要学习了网页导航栏的制作。注意:引入外部CSS样式时,如果使用background:url(../images/1.png),一定记得用..跳出当前文件夹,回到上级目录。
半指温柔乐
2018/09/11
2K0
第8天:CSS制作导航栏
如何使用 HTML、CSS 和 JS 制作电子商务网站
编写基本的 HTML 5 模板index.html。并将home.css文件链接到index文件。现在,创建导航栏。
玖柒的小窝
2021/09/14
4.8K0
如何使用 HTML、CSS 和 JS 制作电子商务网站
【CSS】课程网站头部制作 ② ( 导航栏测量 | 导航栏编写 | 代码示例 )
导航栏 最左侧位置 , 距离 logo 盒子 有 70 像素 , 考虑到设置外边距 , 这里将 logo 盒子 与 导航栏之间的距离设置成 60 像素即可 ;
韩曙亮
2023/04/03
3.9K0
【CSS】课程网站头部制作 ② ( 导航栏测量 | 导航栏编写 | 代码示例 )
CSS+HTML 顶部导航栏实现「建议收藏」
2018/11/16更新: 最近在使用这个导航栏的时候,发现页面在放大和缩小的情况下,导航栏的布局和显示都有些小问题,所以重新改了一下css部分的代码,重新贴上来
全栈程序员站长
2022/09/01
3.4K0
html页面缩小导航栏隐藏,html – 导航栏缩放问题[通俗易懂]
我有一个问题,我的导航栏似乎与CSS中的.container缩放.现在,我是一个新手,但我已经尝试搞乱CSS中的值,但无济于事.这是
全栈程序员站长
2022/09/02
4.6K0
html 竖排导航条,html 导航栏
$(“#navbar a[href='{ { request.path }}’]”).parent().addClass(“active”)
全栈程序员站长
2022/09/01
3.7K0
HTML导航栏的四种制作方法
在这里还想说的是,<ul>的子集元素只能是<li>,不可以是别的,HTML的语义很弱,标签的使用很重要,在实际的网页开发中,不同标签的语义,权重都不一样,所以,优化也不一样。
全栈程序员站长
2022/08/24
3.3K0
HTML导航栏的四种制作方法
html 下拉导航栏源码,html导航栏下拉菜单怎么制作?这里有详细的代码实例「建议收藏」
.dropdown类使用position:relative,这将设置下拉菜单的内容放置在下拉按钮(使用position:absolute)的右下角位置。
全栈程序员站长
2022/09/01
4.2K0
让我们使用HTML,CSS和Javascript构建响应式导航栏和面包屑菜单
大家好!在本教程中,我们将使用html,css和一些javascript构建响应式导航栏和面包屑菜单。
海拥
2021/08/23
2.3K0
让我们使用HTML,CSS和Javascript构建响应式导航栏和面包屑菜单
零基础html5+div+css+js网页开发教程第009期 导航栏css美化
overflow: auto;/* 使用浮动时候结合使用,可以使得容器的宽高自动体现出来 */
刘金玉编程
2019/12/10
1.6K0

相似问题

如何制作粘性导航栏?

216

不能仅使用CSS和HTML隐藏导航栏

13

没有Javascript的响应式导航栏,仅使用HTML和CSS

120

如何制作没有位置的粘性导航栏:已修复

15

如何仅使用HTML、CSS和Javascript突出显示导航栏

120
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文