帮助正则表达式

时间:2011-01-25 16:36:36

标签: javascript regex

我有以下序列我试图检测...... #hl=b&xhr=a其中b等于任何东西,a等于任何东西。

我有以下内容..但它似乎没有效果...... (#hl=.+&xhr=)有谁知道为什么?

我正在使用javascript,而值a和b是字母表中的字母。

3 个答案:

答案 0 :(得分:2)

(#hl=.+&xhr=.+),你错过了第二个.+。根据您的正则表达式引擎,您还应该看到它们的转义规则,通常必须转义大括号或+。如果你只想匹配整个字符串,无论如何都不需要括号,顺便说一句。

答案 1 :(得分:0)

您需要更具体地获得更好的答案:

  • 您使用RegEx的编程语言是什么?
  • ab可以包含哪些值?任何事情都意味着包含换行符,.不匹配
  • 您想获得ab的价值吗?

现在已经说过了,让我们进入一个带有一些假设的正则表达式:

/#h1=(.+)&xhr=(.+)/

这将匹配字符串#h1=a&xhr=b,并从字符串中选择ab值。这将是贪婪的,所以如果伪URL中有键值对(我假设它是一个url编码的字符串作为标签),它们将在b中匹配。

#h1=a&xhr=b&foo=bar

第二个选择将匹配b&foo=bar

正则表达式还假设#h1=出现在&xhr=之前。

答案 2 :(得分:0)

假设#,&和=是特殊字符,这个正则表达式怎么样:

#h1=([^#&=]+)&xhr=([^#&=]+)

你确定你的键/值对(?)总是在这个顺序中没有任何介于两者之间吗?