我知道第一条路线将占据大部分路径.但是,这也会捕获/ 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和动作......任何想法?
非常感谢!
还在学习正规表达!我的正则表达式百分比(不遵守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])?
我刚刚开始学习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"吗?如何编辑这些行?
开始学习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程序员来说,这个问题可能听起来很"奇怪",但我不是.
我基本上试图做一个"一行返回",而不浪费另一行代码.我知道它不好,而且以下它不是生产代码:
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 ×2
asp.net-mvc ×1
branch ×1
c# ×1
git ×1
git-branch ×1
http ×1
httprequest ×1
node.js ×1
percentage ×1
php ×1
preg-match ×1
regex ×1
routes ×1