小编Ail*_*lyn的帖子

如何在C#正则表达式中使用内联修饰符?

如何使用内联修改器而不是RegexOptions.Option

例如:

Regex MyRegex = new Regex(@"[a-z]+", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

如何使用内联字符重写此内容i

http://msdn.microsoft.com/en-us/library/yd1hzczs.aspx

.net c# regex

17
推荐指数
2
解决办法
7899
查看次数

为什么我不能将数组初始值设定项与隐式类型变量一起使用?

为什么我不能将数组初始值设定项与隐式类型变量一起使用?

string[] words = { "apple", "strawberry", "grape" };                 // legal
string[] words = new string[]{ "apple", "strawberry", "grape" };     // legal
var words = new []{ "apple", "strawberry", "grape" };                // legal
var words = new string[]{ "apple", "strawberry", "grape" };          // legal

var words = { "apple", "strawberry", "grape", "peach" };             // ILLEGAL
Run Code Online (Sandbox Code Playgroud)

这种限制是否存在技术原因?为什么不能像它那样推断出类型:

var number = 10;
var text = "Hello";
Run Code Online (Sandbox Code Playgroud)

编译器清楚地知道我想要做什么,它只是不允许它:

CS0820:无法将数组初始值设定项分配给隐式类型的本地


更新:我使用四种合法的数组声明方法编译了一个程序,它生成了相同的IL:http://pastebin.com/28JDAFbL

这只会增加我的困惑.并且"就像这样,因为规范说的如此"没什么帮助.为什么规格是这样的?这里的理由是什么?

c# arrays compiler-construction implicit-typing

16
推荐指数
3
解决办法
7638
查看次数

preg在PHP的功能中代表什么?

有谁知道什么pregpreg_match,preg_grep等代表什么?

我知道他们使用的是PCRE,它们是'Perl Compatible Regular Expressions'.

php regex

13
推荐指数
1
解决办法
1326
查看次数

提高基于Web的登录的安全性

现在我的登录系统如下:

  1. 密码长度必须至少为8个字符,并且至少包含一个大写和小写字母,一个数字和一个符号.
  2. 密码不能包含用户名作为其子字符串.
  3. 用户名,salted +哈希(使用SHA2)密码存储在db上.
  4. nonce(salt)对每个用户都是唯一的,并以用户名和密码的形式存储为明文.
  5. 整个登录过程只能通过TLS进行

您如何评价以下措施的有效性以提高安全性?

  1. 增加密码长度
  2. 强制用户每X隔一段时间更改密码,新密码不能是Y以前的任何密码
  3. 将随机数大小从32字节增加到64字节 (删除无用)
  4. 使用AES加密salt,密钥仅供执行身份验证的应用程序使用
  5. 多次重新密码密码
  6. 在db上使用一个盐,它是一个较长的应用程序范围的盐+唯一用户盐的组合.

我不是很喜欢1和2,因为它会给用户带来不便.
当然,只有当攻击者破坏了db(例如:通过SQL注入)而不是应用程序所在的文件系统时,4和6才有效.

security password-protection

13
推荐指数
2
解决办法
415
查看次数

C#的类似Python的字典声明?

在Python中,可以做到:

d = {1 : 'Hello', 2 : 'World'}
Run Code Online (Sandbox Code Playgroud)

在C#中,它更详细:

Dictionary<int, string> d = new Dictionary<int, string>();
d.Add(1, 'Hello');
d.Add(2, 'World');
Run Code Online (Sandbox Code Playgroud)

我怎么能让这个更简洁?

c# syntax dictionary syntactic-sugar

12
推荐指数
1
解决办法
3954
查看次数

为什么ElementTree会引发ParseError?

我一直试图解析一个文件xml.etree.ElementTree:

import xml.etree.ElementTree as ET
from xml.etree.ElementTree import ParseError

def analyze(xml):
    it = ET.iterparse(file(xml))
    count = 0
    last = None

    try:        
        for (ev, el) in it:
            count += 1
            last = el

    except ParseError:
            print("catastrophic failure")
            print("last successful: {0}".format(last))

    print('count: {0}'.format(count))
Run Code Online (Sandbox Code Playgroud)

这当然是我的代码的简化版本,但这足以打破我的程序.如果删除try-catch块,我会在某些文件中出现此错误:

Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    from yparse import analyze; analyze('file.xml')
  File "C:\Python27\yparse.py", line 10, in analyze
    for (ev, el) in it:
  File "C:\Python27\lib\xml\etree\ElementTree.py", line 1258, in next
    self._parser.feed(data)
  File "C:\Python27\lib\xml\etree\ElementTree.py", …
Run Code Online (Sandbox Code Playgroud)

python xml parsing

11
推荐指数
2
解决办法
4万
查看次数

我怎样才能从preg_match获得命名的捕获?

可能重复:
如何强制preg_match preg_match_all仅返回正则表达式的命名部分

我有这个片段:

$string = 'Hello, my name is Linda. I like Pepsi.';
$regex = '/name is (?<name>[^.]+)\..*?like (?<likes>[^.]+)/';

preg_match($regex, $string, $matches);

print_r($matches);
Run Code Online (Sandbox Code Playgroud)

这打印:

Array
(
    [0] => name is Linda. I like Pepsi
    [name] => Linda
    [1] => Linda
    [likes] => Pepsi
    [2] => Pepsi
)
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它返回:

Array
(
    [name] => Linda
    [likes] => Pepsi
)
Run Code Online (Sandbox Code Playgroud)

无需过滤结果数组:

foreach ($matches as $key => $value) {
    if (is_int($key)) 
        unset($matches[$key]);
}
Run Code Online (Sandbox Code Playgroud)

php regex pcre preg-match

11
推荐指数
1
解决办法
1万
查看次数

什么是Python的优秀XML流解析器?

有没有可以解析文件流的Python XML解析器?我的XML文件太大,无法容纳在内存中,所以我需要解析流.

理想情况下,我不需要root权限来安装东西,因此lxml不是一个很好的选择.

我一直在使用,xml.etree.ElementTree我确信它已经坏了.

python xml parsing stream

10
推荐指数
3
解决办法
1万
查看次数

对Java字符串使用'=='而不是.equals

可能重复:
什么使参考比较(==)适用于Java中的某些字符串?

我知道之前已经问过,但是尽管建议使用.equals()而不是==比较运算符,我发现它==一直都有效:

String s1 = "Hello";
String s2 = "Hello";
System.out.println(s1 == s2); // true
Run Code Online (Sandbox Code Playgroud)

谁能给我一个==操作员失败的例子?

java equals

9
推荐指数
3
解决办法
9821
查看次数

为什么搜索引擎会忽略符号?

搜索符号在编程中很常见,特别是当您不熟悉某种语言时.例如,我在Python中有一个关于运算符的问题::,这是不可搜索的.寻找像这样的东西或Object [](对象阵列)的人找不到他们想要的东西.

为什么搜索引擎似乎完全忽略了符号?他们就像其他人一样.我可以看出为什么从符号中提取语义与单词相比很难(例如:搜索引擎可以发现"查找","发现","找到"都是相关的,如果不是相同的单词),但是搜索它们真的很难吗?

我也可以看到为什么在日常使用中你想要忽略符号,但要明确地寻找某些东西会有多难(例如:"::"会搜索::)

implementation search-engine

9
推荐指数
1
解决办法
1886
查看次数