Tag: expression

字符类\ w不工作?

我在Node中做下面的正则expression式: var checkPath = '^\/path\/([\w]+)\/messages$'; var path = '/path/54946fde030ba8cc5471efc9/messages'; var match = path.match(checkPath); 这似乎并不奏效。 但是,当我这样做: var checkPath = '^\/path\/([0-9a-z]+)\/messages$'; var path = '/path/54946fde030ba8cc5471efc9/messages'; var match = path.match(checkPath); 这似乎工作。 有什么不同?

$ regex与find()和update()mongoose的工作方式不同

我有以下正则expression式查找文本片段中的链接。 var searchQuery = /(^|\s|\n|>)(ftp|http[s]?):\/\/.*/gm; 当我在find()中使用这个时,我得到11个匹配: Table.find({ text : { $regex: searchQuery, $options: 'xi' }}) 但是,当我用update(),我只得到1匹配: Table.update({ text : { $regex: searchQuery, $options: 'xi' }}, {$set: {tags: 'bookmark'}}) 有人能指出正则expression式的用法(如果有的话)有什么区别。

使用引号将正文匹配时,正则expression式不会省略引号

我试图在node.js中用正则expression式在双引号内进行非贪婪的捕获。 大部分的Google结果都说我应该使用下面的一个: "(.*?)" "([^"]*)" 我试了两个,但我的代码不会删除引号。 我的代码看起来如此: var testStr = '|> "Song" by "Artist" on "Album" <3'; var regex = /"([^"]*)"/g; // or /"(.*?)"/g var info = testStr.match(regex); if (info){ console.dir(info[0]); console.dir(info[1]); console.dir(info[2]); } 我的输出是这样的: '"Song"' '"Artist"' '"Album"' 我究竟做错了什么?

Express 4 session TypeError:对象不是一个函数

我正在用Express 4学习nodejs来开发一个web应用程序,并且关注一些博客,当尝试启动项目时显示这个错误: [nodetest1]# npm start nodetest1@0.0.0 start /root/node_proyects/nodetest1 node ./bin/www /root/node_proyects/nodetest1/app.js:64 app.use(session({secret: 'blablabla'})); ^ TypeError: object is not a function at Object.<anonymous> (/root/node_proyects/nodetest1/app.js:64:9) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (/root/node_proyects/nodetest1/bin/www:7:11) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load […]

获取匹配string后的数字和字符

我试图得到匹配的string后的值: Empregados/Avulsos 2.912,30 Empregados/Avulsos 7.310,06 有时在值中有一个string。 这是正则expression式可能吗? 我正在尝试像这样: var match = data.replace(/\s\s+/g, ' '); var match_two = match.match([\n\r][ \t]*Retenção Lei 9.711/98[ \t]*([^\n\r]*)); console.log(match_two); 首先我用一个replace所有的空格。 然后我试着得到'Retenção Lei 9.711/98' 。 但是输出是'2' 。 我想做一个正则expression式,在这些例子中总是会得到下一个单词或数字: Hour: get 12:12 Data: get 24/08 Solicitação get 2.912,30 Empregados/Avulsos get 1.452,00 Palavras separadas get 2.912,30 话: 'Solicitação', 'Retention xxx 9.999/99' 'Compensation' 'TET': 'VALUE […]

Node.JS将可能有连字符的大写string拆分成数组

我有这个stringActionComedySci-Fi ,我想把它分成一个数组,如["Action", "Comedy", "Sci-Fi"]但是string也可以是ActionComedyThriller ,没有连字符,以任何顺序。 所以我的问题是:我怎样才能使用Node.JS拆分string的大写字母,并将它们包括在同一个数组列,即使他们有一个连字符? 我曾尝试使用"ActionComedySci-Fi".split(' ')[0].match(/[AZ]*[^AZ]+/g); 但只是返回["Action", "Comedy", "Sci-", "Fi"];

从string中提取信息

所以我得到了这个string G-Eazy – The track title (Mr. Awesome Remix) (Official Video) 现在我想提取艺术家,歌曲标题,混音等信息,并忽略有关官方video的信息。 这意味着我只是假设第一部分是艺术家的名字,再次是空格,减号和空格。 然后,我想检索第一个括号的内容,并忽略所有包含“官方”等字样的括号… 有没有办法做到这一点使用正则expression式?

在nodejs服务器上的内存存储中

似乎有相当多的有前途的软件包,没有明确的build议,哪个是最快的,可扩展的,哪些是更高的内存效率。 npm安装memoizee npm安装memcached LRUcaching npm安装内存caching npm安装节点caching 任何可靠的信息来源/个人经验与这些将有所帮助。 所以基本的用法是简单的键:值存储。 只需要知道这些不同的商店的底层架构是相似/不同的,如果不同,那么这将是可扩展的。 [其中哪些被快速会话用来实现MemoryStore 。]

为什么我不能从一个mysql查询发送一个响应Express?

我将保持代码简单,但基本上,我有一个运行Express的Node.js服务器。 Express使用池(和mysql npm包)连接到MySQL数据库。 这是我的服务器看起来像(我没有了无聊的要求,而不是保持这个简单)。 这是服务器处理的唯一路由。 server.all('/test', function (req, res, next) { pool.getConnection(function (err, conn) { if (err) { console.log(err); } else { conn.query("select * from spwp_appusers where id=46", function (err, rows) { conn.release(); if (err) { console.log(err); } else { res.send(200); } }); } }); next(); }); 但是,当我运行这个代码时,服务器试图执行res.send(200); 但中断,我得到以下错误: /usr/lib/node_modules/mysql/lib/protocol/Parser.js:77 throw err; // Rethrow non-MySQL […]

Javascript和angularjs使用CORS

我试图从使用$ http的网站获取信息,并且我诚实地查看了所有的东西,并且尝试了很多不同的东西,但我不确定如何设置“Access-Control-Allow-Origin” 。 我不确定我是否完全是误解,但是任何帮助真的很感谢,谢谢提前一吨! XMLHttpRequest无法加载http://nhlwc.cdnak.neulion.com/fs1/nhl/league/teamroster/NJD/iphone/cbrbroster.json 。 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因' http:// localhost:3000 '因此不被允许访问。 该响应具有HTTP状态码503。 这是我的代码: 来自rosterService的相关代码: (function(){ 'use strict'; var URL = 'http://nhlwc.cdnak.neulion.com/fs1/nhl/league/teamroster/NJD/iphone/clubroster.json'; angular .module("DevilsFanApp") .factory("RosterService", RosterService); function RosterService($rootScope, $http) { function fetchPlayers(callback){ return $http({ method: 'GET', url: URL, dataType: 'jsonp' }); } } })(); server.js: var express = require('express'); var app = express(); var ipaddress = […]