2010-04-22 90 views
0

我要寻找一个正则表达式查询,让我从一个字符串检索值 这里是我的字符串的例子:正则表达式查询来获取字符串值

home.aspx?StudyID=0020101&aa=72 
randompage.aspx?studyid=3023603&aa=40 
myconfig.aspx?studyid=0021600&aa=40 

我需要得到的数值'studyid'变量,请注意,页面的名称将改变,所以只是做子字符串和计数字符空间不起作用

我不幸地不能使用request.querystring方法,因为这个字符串存储在数据库中,语句将用于运行此正则表达式查询

由于

+0

你使用什么编程语言或程序? – badp 2010-04-22 16:00:16

回答

0
/studyid=([^&]*)&/i 

第一组将包含该变量。

2
/studyid=(\d{7})/i 
+1

我会建议不要使用{7}量词。我不会推荐这个,因为他没有说明studyID会有多长。如果长度超过7个字符,那么你的正则表达式会爆炸。 – 2010-04-22 15:48:36

+2

@george:如果值与此不同,那么OP需要提供相关示例。 – SilentGhost 2010-04-22 15:52:49

+0

一般是7字符,所以应该没问题 谢谢 – Alex 2010-04-22 16:52:28

1

使用可以使用圆括号在正则表达式中捕获值。

因此,您可以将字符串匹配到studyid=(\d+)并使用$ 1获取该值。

相关问题