2013-03-15 95 views
5

这里出现一个符号(^)之间的匹配一切数据正则表达式为字符串,并排除插入符号(^)

[StupidHtml]: AZaz.-09^abcdabcd^a^a^ 

我需要一个正则表达式来检索[StupidHtml]:^

第一次出现之间的数据

目前我使用

(?<=\[StupidHtml\]\:)(.*)(?=\^) 

但是,其结果是:

AZaz.-09^abcdabcd^a^a 

我需要实现Azaz.-09

+0

谢谢marc_s的编辑。 – HawkEye13 2013-03-15 10:20:54

回答

1

试试这个:

(?<=\[StupidHtml\]\:)(.*?)(?=\^) 
0

.将匹配任何字符,甚至^。你需要从匹配的类

排除把它给一个尝试(?<=\[StupidHtml\]\:)([^\^]*)(?=\^)

2

让你的正则表达式使用(.*?)代替(.*)贪心不足:

\[StupidHtml\]\:(.*?)\^ 
+0

它需要符号'^' – Sergio 2013-03-15 10:07:23

+0

(?<= \ [StupidHtml \] \:)(。*?)(?= \ ^)效果很好。我相信。 – HawkEye13 2013-03-15 10:13:24

+0

+1为Blender给我的想法,使它不那么贪婪。 – HawkEye13 2013-03-15 10:19:48