我有以下序列我试图检测...... #hl=b&xhr=a
其中b等于任何东西,a等于任何东西。
我有以下内容..但它似乎没有效果...... (#hl=.+&xhr=)
有谁知道为什么?
我正在使用javascript,而值a和b是字母表中的字母。
答案 0 :(得分:2)
(#hl=.+&xhr=.+)
,你错过了第二个.+
。根据您的正则表达式引擎,您还应该看到它们的转义规则,通常必须转义大括号或+。如果你只想匹配整个字符串,无论如何都不需要括号,顺便说一句。
答案 1 :(得分:0)
您需要更具体地获得更好的答案:
a
和b
可以包含哪些值?任何事情都意味着包含换行符,.
不匹配a
和b
的价值吗?现在已经说过了,让我们进入一个带有一些假设的正则表达式:
/#h1=(.+)&xhr=(.+)/
这将匹配字符串#h1=a&xhr=b
,并从字符串中选择a
和b
值。这将是贪婪的,所以如果伪URL中有键值对(我假设它是一个url编码的字符串作为标签),它们将在b
中匹配。
#h1=a&xhr=b&foo=bar
第二个选择将匹配b&foo=bar
。
正则表达式还假设#h1=
出现在&xhr=
之前。
答案 2 :(得分:0)
假设#,&和=是特殊字符,这个正则表达式怎么样:
#h1=([^#&=]+)&xhr=([^#&=]+)
你确定你的键/值对(?)总是在这个顺序中没有任何介于两者之间吗?