Xeger 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Xeger 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 未知
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 不详
提 交 者 叶秀兰
适用人群 未知
收录时间 2015-06-29

软件简介

Xeger 是更富有表现力的 JavaScript 正则表达式,Xeger 发音为 "zeeger"。

使用:

var xeger = require('xeger');
/* Parsing a URL. Getting the schema, host, path, and url params */
/* Instead of this */
var boringRegex= /(https?)\:\/\/([^\/]+)(.+)\?(.*)/;
/* Write this! */
var coolRegex = xeger(function (x) {
  /* schema */
  x.group(function (x) {
    x.literal('http');
    x.literal('s', { optional: true });
  });
  x.literal('://');
  /* host */
  x.group(function (x) {
    x.not('/', { multiple: true });
  });
  /* path */
  x.group(function (x) {
    x.any({ multiple: true });
  });
  x.literal('?');
  /* query params */
  x.group(function (x) {
    x.any({ multiple: true, optional: true });
  });
});
var matched = coolRegex.exec('https://www.google.com/search?q=my_search');

匹配:

[ 'https://www.google.com/search?q=my_search',
  'https',          /* schema       */
  'www.google.com', /* host         */
  '/search',        /* path         */
  'q=my_search',    /* query params */
  index: 0,
  input: 'https://www.google.com/search?q=my_search' ]

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
01/10 14:05

根据正则表达式生成字符串

比如想要生成A1到Z9的所以可能字符串 尝试了下Java下的Generex, List<String> resultnew Generex("[A-Z]{1}[1-9]{1}").getAllMatchedStrings() 还有其他语言实现该功能: https://blog.csdn.net/yue530tomtom......

0
0
发表了博客
2019/03/24 01:37

面向对象编程第1次总结

面向对象编程第1次总结 需求分析 这3次作业的题目要求是对表达式求导,同时需要判断错误输入。 显而易见,作业可以分成这些模块:输入输出,表达式解析,表达式求导。 所以,笔者的代码结构仿照工厂模式: 表达式解析单独为1个工厂类,根据字符串构造表达式对象。 表达式对象提供求导方法返回求导结果表达式,并重载toS...

0
0
发表了博客
2019/03/26 11:50

OO的奇妙冒险1

OO的奇妙冒险 ~OOP入门与字符串处理~ 目录 总体分析 作业内容分析 作业内容总结 互测的收获 公测互测bug分析与总结 不太正经的个人自嗨 总体分析 公测 中测(基础与进阶): 其实在我看来,从完成作业的角度来说,中测的基础与进阶并没有任何区别,都不能挂,都不太难,都对得分没有什么影响。中测的样例总体来说非常善良,...

0
0
发表了博客
2019/03/23 19:57

2019年北航OO第一单元(表达式求导任务)总结

2019面向对象课设第一单元总结 一、三次作业总结 1. 第一次作业 1.1 需求分析 第一次作业的需求是完成简单多项式导函数的求解,表达式中每一项均为简单的常数乘以幂函数形式,优化目标为最短输出。为了满足优化目标,我们需要将含有相同指数的项进行合并。 1.2 实现方案 根据需求,我们很容易就能想到利用HashMap构建常数...

0
0
发表了博客
2019/03/25 23:20

BUAA_OO Summary——多项式求导问题

  从C、DS、计组一路折磨过来, 几乎都在采用过程化、函数式的编程思想。初接触面向对象的项目开发,经过了三周的对多项式求导问题的迭代开发,经历了设计、coding、测评环节,算是对面向对象有了一定的认识,这个过程总结了一些经验,在这里希望和大家一起share,欢迎大家给我提意见。   一、关于代码架构   1、第...

0
0
发表了博客
2019/03/26 13:35

OO第一单元总结——求导之旅

目录 程序结构分析 作业内容总结 Bug评测分析 测试策略 采用的设计模式 一、程序结构分析 类图: 第一次作业: 第一次作业由于作业比较简单,自己也没有考虑以后的可扩展性问题,就只建立了两个类,Poly类进行输入格式的检查、字符串到对象的转换和求导运算, PolyCal类负责处理输入和输出。 因为求导结果仍为简单的多项...

0
0
发表了博客
2019/03/27 18:29

面向对象设计与构造——第一单元总结

写在前面 OO课程的第一单元结束了,第一单元,以多项式求导程序为中心,不断增加新的功能,我学到了很多: 熟悉了Java基本语法; 初步建立起了面向对象的设计思路; 认识到了代码可拓展性的重要; 学会了构建自动化测试工具。 Complexity Metrics(复杂度分析) 因为下面要用到复杂度分析,所以先在此给出一些相关概念。...

0
0
发表了博客
2019/03/26 23:58

面向对象第一单元(多项式求导)总结

前言   OO三周三次作业,基于多项式求导这一问题让我们入门的面向对象的设计思想。不敢说自己真的迈进了面向对象的大门了,三次作业做得也并非尽善尽美,但愿意把自己对这三次作业的一些感悟记录下来,供沟通交流及记录学习过程之用。 补充知识:基于度量的程序结构分析   这次博客作业,要求要基于度量对自己的程序...

0
0
发表了博客
2019/03/25 20:22

BUAA_OO 第一单元表达式求导作业总结

一、三次作业总结 三次作业难度逐层递进,逐步帮助我们入门理解面向对象思想。第三次作业可以算是系列的巅峰版,因此本文重点介绍第三次作业的设计思路,当然前两次作业也进行了较细致的介绍。另外三次使用的查找bug方法较为相似,统一放在最后介绍。 1、 第一次作业 1.1 需求分析 本次作业需要完成的任务为简单多项式导...

0
0
发表了博客
03/17 22:41

OO第一单元总结与反思

OO第一单元总结与反思 [toc] 摘要 本单元作业分为三次 HW1:本次作业,需要完成的任务为简单多项式导函数的求解。 HW2:本次作业,需要完成的任务为包含简单幂函数和简单正余弦函数的导函数的求解。 HW3:本次作业,需要完成的任务为包含简单幂函数和简单正余弦函数的导函数及其组合的求解。 第一次作业 OO第一次作业来得比...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
2 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部