小编gre*_*emo的帖子

使用正则表达式捕获所有不起作用的路由

我知道第一条路线将占据大部分路径.但是,这也会捕获/ Product/Edit/blablabla(我正在使用ASP.NET路由调试器):

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", 
            "{controller}/{action}/{id}",                          
            new { controller = "Home", action = "Index", id = @"\d{1,}" }
        );

        routes.MapRoute(
            "Catch All",
            "{*path}",
            new { controller = "Error", action = "NotFound" }
        );
    }
Run Code Online (Sandbox Code Playgroud)

但这是错的!为什么?如果不是长度为1的整数,则第一条路线不匹配.我还需要处理未找到的coutroller和动作......任何想法?

非常感谢!

c# asp.net-mvc routes

0
推荐指数
1
解决办法
2950
查看次数

不捕获我的PHP正则表达式中的百分号?

还在学习正规表达!我的正则表达式百分比(不遵守100限制):

^(?<int>[1-9][0-9]*|[0])(?<dec>\.[0-9]+)?\%?$
Run Code Online (Sandbox Code Playgroud)

应该允许:

  • [1-9] 从不同于0的数字开始.不允许使用"004.34"之类的百分比.
  • [0-9]* ...后跟0到9之间的任何数字
  • |[0] 或者从单个0开始

...将此组捕获为"int"组.然后:

  • (?<dec>\.[0-9]+)? 一个可选组,只有在0到9之间至少有一个数字后才允许一个点.我不希望人们输入即"33".

假设我是对的,测试:

preg_match('/^(?<int>[1-9][0-9]*|[0])(?<dec>\.[0-9]+)?\%?$/i', '0.32%', $result);
Run Code Online (Sandbox Code Playgroud)

给我这个结果,这实际上是正确的,但是:

Array
(
    [0] => 0.32%
    [int] => 0
    [1] => 0
    [dec] => .32
    [2] => .32
)
Run Code Online (Sandbox Code Playgroud)

如何避免捕获百分比"%"符号(in $result[0])?

php regex percentage preg-match

0
推荐指数
1
解决办法
2552
查看次数

Git三方合并与冲突noob问题阅读本书

我刚刚开始学习git版本控制,我正面临着这个问题.鉴于以下分支结构(取自免费书籍):

分支结构

我们假设C4/C5提交改变了index.html文件的相同部分.

git checkout master
git merge iss53
Run Code Online (Sandbox Code Playgroud)

如果我理解它,我需要手动解决冲突.这本书讲述了冲突文件.这个冲突文件在哪里?鉴于以下冲突,如何:

<<<<<<< HEAD:index.html
<div id="footer">contact : email.support@github.com</div>
=======
<div id="footer">
  please contact us at support@github.com
</div>
>>>>>>> iss53:index.html
Run Code Online (Sandbox Code Playgroud)

我可以丢弃HEAD的所有更改,仅将"iss53"分支的更改合并为"master"吗?如何编辑这些行?

git version-control branch branching-and-merging git-branch

0
推荐指数
1
解决办法
155
查看次数

在Node.js请求的响应主体之间获取未定义?

开始学习Node.js,POST用Node.js 发送请求:

var http = require('http')
  , https = require('https')
  , _ = require('underscore')
  , querystring = require('querystring');    

// Client constructor ...

Client.prototype.request = function (options) {
    _.extend(options, {
        hostname: Client.API_ENDPOINT,
        path: Client.API_PATH,
        headers: {
            'user-agent': this.agent
        }
    });

    var req = (this.secure ? https : http).request(options);
    if(options.data) req.write(querystring.stringify(options.data));

    req.end();

    req.on('response', function (res) {
        res.on('data', function (chunk) {
            res.body += chunk;
        });

        res.on('end', function () {
            console.log(res.body);
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

身体表演:undefined<xml version="1.0" encoding="UTF-8">.

哪里undefined来的?

javascript http httprequest node.js

0
推荐指数
1
解决办法
5972
查看次数

Javascript返回和var的三元运算符,可能吗?

如果这个问题是重复的,我很抱歉,但我真的不知道如何搜索它.对于专业的JavaScript程序员来说,这个问题可能听起来很"奇怪",但我不是.

我基本上试图做一个"一行返回",而不浪费另一行代码.我知道它不好,而且以下它不是生产代码:

var _ = require('underscore');

module.exports = function (digits) {
    if (!/^\d+$/.test(digits)) return undefined;

    var precomp = [0, 2, 4, 6, 8, 1, 3, 5, 7, 9];

    var sum = _.reduce(digits.toString(), function (mem, dgt, idx) {
        return mem + (idx % 2 == 0 ? parseInt(dgt) : precomp[dgt]);
    }, 0);

    return (var mod = sum % 10 == 0) ? 0 : 10 - mod; // Error
};
Run Code Online (Sandbox Code Playgroud)

最后一行因为var关键字而抛出错误.我记得在PHP中有时会做同样的事情.

编辑:我不认为在回答之前阅读问题是如此"难"......我在问这是否可能,我不是说它是正确的,好看的,或​​者其他什么.

(顺便说一下这是luhn检查计算)

javascript

-1
推荐指数
1
解决办法
309
查看次数