繁体   English   中英

将C#正则表达式转换为javascript

[英]Converting C# regex to javascript

我将C#程序转换为Google Chrome扩展程序的JavaScript。

这是C#正则表达式:

Did you mean: </span><a href=/search.[a-zA-Z0-9=&;_-]{1,}q=[a-zA-Z0-9+-]{1,}

如何在JavaScript中匹配相同的内容? 相同的正则表达式不起作用。

编辑:

输入的字符串为:

>Did you mean: </span><a href=/search?hl=en&amp;safe=off&amp;&amp;sa=X&amp;ei=hD9PTYKpKcKtgQei4pUP&amp;ved=0CBIQBSgA&amp;q=Linkin+Park-In+The+End&amp;spell=1class=spell>Linkin Park-In

我需要匹配:

Did you mean: </span><a href=/search?hl=en&amp;safe=off&amp;&amp;sa=X&amp;ei=hD9PTYKpKcKtgQei4pUP&amp;ved=0CBIQBSgA&amp;q=Linkin+Park-In+The+End 

注意:报价已被过滤掉

如果可以正常工作,您可以在Javascript中尝试吗?

var rx = /Did you mean: <\/span><a href=["']?\/search.[a-zA-Z0-9=&;_-]+q=[a-zA-Z0-9+-]+/;

我可能转义了几个字符,但是我也更改了{1,} ,它们基本上等价于+并添加了href后面可能出现的引号检查。 单引号或双引号。

如果我在此stackoverflow页面的Firebug中执行此操作:

var rx = /Did you mean: <\/span><a href=["']?\/search.[a-zA-Z0-9=&;_-]+q=([a-zA-Z0-9+-]+)/;
rx.exec($(document.body).text());

它确实找到了整个文本,并且因为我也捕获了q变量,所以它也显示Linkin + Park ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM