正则表达式匹配字符串和插入符号之间的所有内容(^),不包括插入符号的出现(^)

时间:2013-03-15 10:00:56

标签: sql regex regex-negation

这是数据

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

我需要一个正则表达式来检索[StupidHtml]:和第一次出现^之间的数据

目前我正在使用

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

但结果是:

AZaz.-09^abcdabcd^a^a

我需要实现Azaz.-09

3 个答案:

答案 0 :(得分:2)

使用(.*?)代替(.*),让您的正则表达式不那么贪婪:

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

答案 1 :(得分:1)

试试这个:

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

答案 2 :(得分:0)

.将匹配任何字符,甚至是^。您需要将其从匹配的类中排除

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