2014-01-23 42 views
0

我在从看起来像这样的字符串中提取c8127c6ea6a44c109b5e35ce61cd4b0096a9c6dc intrested:提取号码+字母的组合,从字符串

?t=c8127c6ea6a44c109b5e35ce61cd4b0096a9c6dc'

这是我在一组捕获结果的尝试。

?t=([a-e]\d+)'

任何人都可以点我的方向是正确的,因为这显然是不工作?

http://regexr.com?383s6

+0

为什么不只是分割=和修剪'? – ernie

+2

什么语言?许多语言都有查询字符串解析器 –

+0

@ernie因为这只是字符串的一部分。 – Johan

回答

4

你想要把\ d在[曝光]块和逃避?

\?t=([a-f\d]+)' 

(我假设你正在寻找十六进制,所以它应该是a-f?)

+1

可能你还需要逃避单引号,取决于环境? (编辑 - 我正在用sed替换它,所以是的,我会的。) – kbshimmyo

+0

@kbshimmyo它不是由于sed而必须避免单引号 - 由于shell环境,您需要转义它。 – ernie

1

你可以使用这个表达式:

\?t=([a-e0-9]+)' 

OR USIG否定:

\?t=([^']+)' 
+0

嗯,这两个似乎都没有在regexr.com工作 – Johan

+1

@Johan:在线演示:http://regex101.com/r/dQ6pX4 – anubhava

0

在Ruby语言中,您可以尝试使用Rubular tool在线来测试正则表达式。

\?t=(\w+)' 

应该做匹配。