WinJS和Apache cordova(WinJS and Apache cordova)
目前我们拥有MS remoteapps和Citrix xenapp等技术,这两种技术都要求客户端在本地PC上运行。
我是否正确地认为我可以使用WinJS和Apache Cordova创建一个环绕Windows应用程序(如Excel和Chrome)并使用JS和HTML5直接将它们流式传输到浏览器而无需插件?
谢谢你的建议。
At present we have technologies such as MS remoteapps and Citrix xenapp, both of which require clients to be running on the local PC.
Am I right in my thinking that I could use WinJS and Apache Cordova to create a wrap around windows applications like Excel & Chrome and stream them directly to a browser using JS and HTML5 without the need for a plugin?
thanks for any advice.
原文:https://stackoverflow.com/questions/31583707
最满意答案
这种行为绝对是个错误。
它可能是JS RegExp实现中常见且故意的错误。 如果RegExp运行“太长”,某些实现会放弃并声称不匹配。
我猜测(因为我还没有检查)它是VM的RegExp实现,因为RegExp需要很长时间才能完成。 有问题的RegExp看起来非常像会导致灾难性的回溯(在输入的长度上占用指数时间)。 这可以解释为什么增加长度会导致它突然放弃并说它不匹配,即使它显然应该。
The behavior is definitely a bug.
It might be a common and deliberate bug in JS RegExp implementations. If a RegExp runs for "too long", some implementations give up and claim not to match.
I'm guessing (because I haven't checked yet) that it is the VM's RegExp implementation that bails out because the RegExp is taking too long to complete. The RegExp in question looks exactly like one that would cause catastrophic backtracking (taking up to exponential time in the length of the input). That would explain why increasing the length causes it to suddenly give up and say that it doesn't match, even though clearly it should.
相关问答
更多-
^[0-9]*\.[0-9]{2}$ or ^[0-9]*\.[0-9][0-9]$ ^[0-9]*\.[0-9]{2}$ or ^[0-9]*\.[0-9][0-9]$
-
您需要将要提取的部分放入组中,以便从匹配中提取它们。 这是通过将模式的一部分放在括号内来实现的。 // added parentheses around \w+ and \d+ to get separate groups String regexString = r'/api/(\w+)/(\d+)/'; // not r'/api/\w+/\d+/' !!! RegExp regExp = new RegExp(regexString); var matches = regExp.allMatches ...
-
RegEx匹配(如果存在)(RegEx match if present)[2024-01-30]
这个? 是Regexes中的0-1量词。 \d? 表示0或1位数。 *是0无限量词。 \d*表示0位或更多位数。 这是你想要的吗? (另外+是1个或多个量词,而不是量词意味着1) 我会说,详细说明你的问题 question(_\d+)? question后跟可选( _ AND 1或更多位数) 括号仅用于对子表达式进行分组(它们是“数学”括号) The ? is the 0-1 quantifier in Regexes. \d? means 0 or 1 digit. The * is the 0-inf ... -
这种行为绝对是个错误。 它可能是JS RegExp实现中常见且故意的错误。 如果RegExp运行“太长”,某些实现会放弃并声称不匹配。 我猜测(因为我还没有检查)它是VM的RegExp实现,因为RegExp需要很长时间才能完成。 有问题的RegExp看起来非常像会导致灾难性的回溯(在输入的长度上占用指数时间)。 这可以解释为什么增加长度会导致它突然放弃并说它不匹配,即使它显然应该。 The behavior is definitely a bug. It might be a common and deli ...
-
在Dart中错误的RegEx匹配(Wrong RegEx match in Dart)[2023-07-23]
要么使用原始字符串 print(new RegExp(r'''[0-9]|'|"|\.''').hasMatch('g')); ( '''是为了避免与"在字符串内部"发生冲突) 或逃脱\ print(new RegExp("[0-9]|'|\"|\\.").hasMatch('g')); DartPad示例 Either you use a raw string print(new RegExp(r'''[0-9]|'|"|\.''').hasMatch('g')); (''' is to avoid ... -
正则表达式非连续匹配(regex nonconsecutive match)[2022-03-12]
前两个答案都是不正确的。 (\S*[aeiouy]\S*){2}可以匹配非空白字符的子字符串, 即使它们包含非单词字符 ( 证明 )。 \S*[aeiouy]\S*[aeiouy]\S*有同样的问题( 证明 )。 正确的解决方案: \b([^\Waeiou]*[aeiou]){2}\w*\b 如果您只想将空格计为单词边界(而不是任何非单词字符),则使用以下正则表达式,其中目标单词位于捕获组\2 。 (\s|^)(([^\Waeiou]*[aeiou]){2}\w*)(\s|$) Both of the ... -
这是有问题的,因为大多数口味都不支持可变长度的后视,因此您无法检查整条线。 一个简单的方法是匹配整行而不是使用lookarounds: ^(?!.*\bbears\b).*?\blive and\b(.*?)\bwoods\b 在这里,以前的整场比赛是第一个捕捉组。 根据您使用它,可能会使替换此文本不太方便。 确保使用muliline标志( /m ),而不是设置单行标志(dot-all或/s )。 工作示例: http : //rubular.com/r/TuADb2vB4w 请注意,如果您可以通过两个步 ...
-
使用Match和Regex(Working With Match and Regex)[2022-07-20]
那么你可以为Regex编写一个扩展方法,它会给你一些力量。 诀窍是在没有运行正则表达式匹配两次的情况下这样做,这可能是您的性能问题(注意:这尚未经过测试,它与您的想法不同,因为它需要现成的Regex对象才能工作)。 public static class RegexExtensions { public static bool GetMatch(this Regex regex, string input, out string matched) { Match match = re ... -
RegExp.allMatches看起来像你想做的。 var regex = new RegExp(r"foo_(\d+)"); var str = "text foo_123 more text foo_456 foo_789 end text"; void main() { for (var match in regex.allMatches(str)) { print(match); print(match.start); print(match.end); } } ...
-
RegEx与MM / YYYY相匹配(RegEx to Match MM/YYYY)[2022-05-30]
在0之后加上一个问号 ^((0?[1-9])|(1[0-2]))\/(\d{4})$ Put a question mark after 0 ^((0?[1-9])|(1[0-2]))\/(\d{4})$