Articles of regex

如何让node.js使用CFML风格#散列#variables?

我构build了一个Node.js框架,并且我喜欢ColdFusion的<cfoutput>风格散列限定variables。 我试图找出如何达到同样的效果。 例如: <h1> #this.pageTitle# </h1> <div> #this.content()# </div>

你将如何build立一个正则expression式来将一个段落分成几个句子,但是不会在内部的任何标点符号上进行分割。

目前,我有这样的正则expression式将一个段落分成几个句子:/[ /[^\.!\?]+[\.!\?]+/g .! /[^\.!\?]+[\.!\?]+/g .! /[^\.!\?]+[\.!\?]+/g ?]+/ /[^\.!\?]+[\.!\?]+/g 。 问题是,我的段落不仅仅是文本的段落。 我有像这样的链接: This is text and here is a <value="link" href="http://link.com?param=test"> which directs to another page. So I don't want to split at the anything inside the link above. 我想分裂成一个数组,如: ['This is text and here is a <value="link" href="http://link.com?param=test"> which directs to another page.', 'So I […]

将正则expression式放在string中

我试图dynamic创build一个JavaScript文件B使用JavaScript文件A(写在Node.js)通过写一个string从A到.js文件B.我想在JavaScript文件B中使用正则expression式。这需要我将B的正则expression式函数放在A中的string中。但是,无论何时使用反斜线(转义字符),文件A立即解释正则expression式函数,而不是将其视为string。 一些代码来帮助理解我的问题: var mongodata = "Some String with square and curly brackets ]}{]]},]},}{}{{}},{[[][,][,"; mongodata = 'var mongodata = ' + mongodata + ';\n function setData(){mongodata = mongodata.replace(/\[ /g,"").replace(/\] \},/g,"</td></tr>").replace(/\] \}/g,"</td></tr>"); document.getElementById("mongodata").innerHTML = mongodata;}'; 该mongodatastring旨在用作dynamic创build的.js文件的内容。 我明白这个问题的措辞可能会有些混乱。 请让我知道是否需要更多的澄清。

在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("/", […]

在通过Neo4J中的Cypher添加语句之前摆脱/转义不需要的符号

我需要摆脱不必要的符号,例如多个空格,前导和尾随空格,以及转义单引号和双引号以及可能在我的Neo4J Cypher查询中出现问题的其他字符。 我目前使用这个( string.js节点模块和jsesc节点模块) result = S(result).trim().collapseWhitespace().s; result = jsesc(result, { 'quotes': 'double' }); 他们工作得很好,但是, 1)我想find一个更好,更简单的方法来做到这一点(最好没有这些库); 2)当我使用其他编码(例如俄文)时,jsesc似乎将其转换为其他编码,而不是UTF-8,我的脚本的其他部分不理解。 所以我想问你是否可以推荐一个RegExp来完成上面的工作,而不必使用这些模块。 谢谢!

Express.js:路由中的正则expression式

我想在我的url中获得一个值。 我的url是这样的: 主机/:value.schema 我想获得价值。 例如: 主机/ horse.schema值=马 我有另一个path没有.schema: 主机/:值 例如: 主人/马值=马 告诉Express如何改变?

javascript无效的正则expression式:无与伦比的')'

我刚刚在我的项目上添加了一个pipe理面板钩子。 当我尝试提起帆时遇到了这个错误: warn: Sails' built-in layout support only works with the `ejs`, `handlebars`, `ractive` view engines. warn: You're using `jade`. warn: Ignoring `sails.config.views.layout`… 和这个错误: SyntaxError: Invalid regular expression: /^\admin\(.*)\/?$/: Unmatched ')' config / view.js引擎设置为jade,布局为false。

节点JS PCRE正则expression式和转换支持

我需要应用大量的带有多个反向引用的PCRE正则expression式,并在Node JS应用程序中应用perl样式转换s/\/\/(\d+)/$1/s 。 我search了一下,find了这两个库: https://github.com/mscdex/node-pcre (正则expression式应用程序) https://github.com/tokuhirom/node-perl(Perl风格转换) 在Node v5.9.0中安装这些模块期间,我收到了很多NPM错误。 node-pcre库存在一个问题 ,即由于V8 API的更改,库在NodeJS 0.10版本之后停止工作 我也遇到了node-perl库的安装问题。 有没有一种方法可以获得对Node v5.9.0中PCRE正则expression式和转换的支持 谢谢 编辑:下面的意见之一是指定一个PCRE正则expression式,正在尝试哪些不能在JavaScript中工作。 这是一个例子: var fs = require("fs"); var regex = '<input type=\"hidden\"\s*name=\"itemId\"\s*value=\"(?P<sku>[\w\-]+)\"[^<]*>.*?<SCRIPT LANGUAGE=\'JavaScript\'[^<]*>.*?(\g{sku}Matrix\s*\=.*?<\/SCRIPT>)'; var page = fs.readFileSync("./page.html"); var re = new RegExp(regex); var matchStr = ""; matchStr = page.replace(re, function (match, $1) { return $1; }); console.log(matchStr); 响应 SyntaxError: […]

在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 […]

为什么下面的JavaScript正则expression式不能工作?

s='<img src="http://25.media.tumblr.com/xxxxx/tumblr_xxx_1280.jpg">' p=/(?=<img src=")http:\/\/\d*\.media\.tumblr\.com\/\w*\/?tumblr_\w*_\d{3,4}\.\w{3,3}(?=")/g s.match(p) # return null 但是,以下工作: p=/(<img src=")http:\/\/\d*\.media\.tumblr\.com\/\w*\/?tumblr_\w*_\d{3,4}\.\w{3,3}(?=")/g