Skip to main content
 首页 » 编程设计

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

2024年01月12日80fff_TT

我正在将我的 C# 程序转换为 JavaScript 以用于 Google Chrome 扩展程序。

这是 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...