小编key*_*ey_的帖子

在Perl中,为什么复制弱引用会创建一个正常的,强大的引用?

Scalar :: Util :: weaken说:

注意:复制弱引用会创建一个正常的强引用.

我无法理解为什么Perl会这样处理它.在我的应用程序中,我 weaken用来打破周期.有时我必须削弱那些已经很弱的引用,如果Perl不这样做的话.

perl weak-references

10
推荐指数
2
解决办法
1022
查看次数

((?:[^ \"])*)和([^ \"]*)之间的正则表达式差异

这个正则表达式之间的区别是可替换的吗?

((?:[^\"])*)


([^\"]*)
Run Code Online (Sandbox Code Playgroud)

这个问题的背景:

javascript WYSIWYG编辑器(tinymce)无法在Firefox(23.0.1和25.0a2)中解析我的html代码,但在Chrome中工作.

我发现正则表达式应该归咎于:

attrRegExp = /([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g;
Run Code Online (Sandbox Code Playgroud)

我修改了,替换

((?:[^\"])*) 
Run Code Online (Sandbox Code Playgroud)

([^\"]*)
Run Code Online (Sandbox Code Playgroud)

((?:[^\'])*) 
Run Code Online (Sandbox Code Playgroud)

([^\']*)
Run Code Online (Sandbox Code Playgroud)

生成的正则表达式在我的测试用例的两个浏览器中都有效

attrRegExp = /([\w:\-]+)(?:\s*=\s*(?:(?:\"([^\"]*)\")|(?:\'([^\']*)\')|([^>\s]+)))?/g
Run Code Online (Sandbox Code Playgroud)

谁可以对此有所了解?

我的测试数据仅适用于修改过的正则表达式,是一个大图像> 700 kb,如:

var testdata = '<img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgA...5PmDk4FOGOHy6S3JW120W1uCJ5M0PBa54edOFAc8ePX/2Q==">'
Run Code Online (Sandbox Code Playgroud)

做类似的测试:

testdata.match(attrRegExp);
Run Code Online (Sandbox Code Playgroud)

特别是当测试数据很大时,未经修改的正则表达式很可能在firefox中失败.

你可以在这里找到jsfiddle示例:

javascript regex

6
推荐指数
1
解决办法
280
查看次数

别名perl中的哈希元素

是否可以在不同的哈希键下访问相同的值?我如何告诉Perl不要复制"非常长的文本?"

$hash->{'key'} = 'very long text';
$hash->{'alias'} = $hash->{'key'};
Run Code Online (Sandbox Code Playgroud)

perl performance alias reference copy-on-write

3
推荐指数
2
解决办法
1215
查看次数