正则表达式为字符串,并排除插入符号(^)

问题描述:

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

[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

试试这个:

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

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

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

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

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

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

+0

(? HawkEye13 2013-03-15 10:13:24

+0

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