Tag: 模式匹配

在javascript中的模式匹配

在下面的代码我没有得到正确的结果。 我怎样才能在JavaScript中做模式匹配? function getPathValue(url, input) { console.log("this is path key :"+input); url = url.replace(/%7C/g, '|'); var inputarr = input.split("|"); if (inputarr.length > 1) input = '\\b' + inputarr[0] + '\n|' + inputarr[1] + '\\b'; else input = '\\b' + input + '\\b'; var field = url.search(input); var slash1 = url.indexOf("/", field); var slash2 = url.indexOf("/", […]

在RegEX中的2个时间戳模式之间提取日志消息

我有下面的日志文件,正在使用NodeJS写日志监视。 我的parsing器是基于正则expression式,所以如果我收到的日志文件中可以被翻译成多个日志消息的新行,我应该能够提取它们。 为此,我需要一个rtegex来提取可变日志消息 Fri Jan 24 05:28:57 2014 MEMORY_TARGET defaulting to 1128267776. * instance_number obtained from CSS = 1, checking for the existence of node 0… * node 0 does not exist. instance_number = 1 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Initial number of CPU is 48 Number of processor cores […]

全局模式包括所有的js排除特定的结局

我想用摩卡水珠。 可悲的摩卡不支持排除,也不会传递glob选项,所以我必须在不使用glob ignore选项的情况下以单一模式解决这个问题。 https://github.com/mochajs/mocha/issues/1577另一个解决scheme是使用mocha.opts,但这不是业力兼容,我不知道为什么。 我可以定义一个karma兼容的opts文件和一个兼容节点的opts文件,但是这个会在问题解决后立即中断,所以我正在寻找另一个解决scheme。 https://github.com/karma-runner/karma-mocha/issues/88 我需要匹配test/**/*.spec.js并从结果中排除test/**/*.karma.spec.js 。 这是可能的一个单一的glob模式?

Javascript:将stringpath转换为格式化数组

所以我试图使用github API并将其转换为dynatree使用。 我正在寻找使用JavaScript。 但是,如果在Ruby,ClojureScript等中更容易完成,那也可以。 所以Github api返回的东西看起来像: { "sha": "a1f28431d5ee1a00361ff7e1e2dc91172d5bbabd", "url": "https://api.github.com/repos/Jonovono/c/git/trees/a1f28431d5ee1a00361ff7e1e2dc91172d5bbabd", "tree": [ { "mode": "100644", "type": "blob", "sha": "b81f704ee24f08f5f3e00675a9912da79274c3bc", "path": ".gitignore", "size": 114, "url": "https://api.github.com/repos/Jonovono/c/git/blobs/b81f704ee24f08f5f3e00675a9912da79274c3bc" }, { "mode": "100644", "type": "blob", "sha": "c6231c2f161f50bededaaac624a7a96db6179e9a", "path": "Makefile.am", "size": 40, "url": "https://api.github.com/repos/Jonovono/c/git/blobs/c6231c2f161f50bededaaac624a7a96db6179e9a" }, { "mode": "100644", "type": "blob", "sha": "ca41e5b8fb710b4ae7a2cdb35cdbafb143382dc2", "path": "README.md", "size": 2194, "url": "https://api.github.com/repos/Jonovono/c/git/blobs/ca41e5b8fb710b4ae7a2cdb35cdbafb143382dc2" }, […]

Node / Javascript中的RegEx – 如何获取模式匹配界限?

目前,我通过find()在JavaScript / Node中使用正则expression式,它用于查找模式的开始。 但我也希望能够找出模式结束的地方。 那可能吗?

查找一个string是否匹配一个模式

在我的应用程序的一个点上,我需要匹配一些模式的string。 假设一些示例string如下所示: 你好,约翰。 今天真是美好的一天! 今天可爱的日落,约翰,不是吗? 约翰,你今天会见琳达吗? 大多数(不是全部)这些string都来自预定义的模式,如下所示: “你好,%s。” 今天真是美好的一天!“ “今天可爱的日落,%s,不是吗? “你今天会开会吗,%s? 这个模式库不断扩大(目前在1,500左右),但手动维护。 inputstring虽然(第一组)很大程度上是不可预知的。 虽然他们中的大多数将匹配其中的一种模式,但其中一些不会。 所以,这是我的问题:给定一个string(从第一组)作为input,我需要知道哪些模式(已知第二组)它匹配。 如果没有任何匹配,它需要告诉我。 我猜测解决scheme涉及到从模式中构build一个正则expression式,并迭代地检查哪一个匹配。 不过,我不确定构build这些正则expression式的代码是什么样的。 注:我在这里给出的string是为了说明的目的。 实际上,这些string不是人类生成的,而是由我不能控制的系统在上面显示的计算机生成的人性化string。 由于它们不是手动input的,我们不需要担心types错误和其他人为错误。 只需要find匹配的模式。 注2:我可以修改模式库为其他格式,如果这样可以更容易地构造正则expression式。 当前的结构,printf样式%s,并不是一成不变的。