2013-03-15 29 views
5

Đây là dữ liệuRegex để phù hợp với tất cả mọi thứ giữa một chuỗi và một dấu mũ (^) không bao gồm sự xuất hiện của dấu mũ (^)

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

Tôi cần một regex để lấy dữ liệu giữa [StupidHtml]: và xuất hiện đầu tiên của ^

Hiện nay tôi đang sử dụng

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

Nhưng mà kết quả:

AZaz.-09^abcdabcd^a^a 

tôi cần phải đạt được Azaz.-09

+0

Cảm ơn marc_s đã chỉnh sửa. – HawkEye13

Trả lời

1

Hãy thử điều này:

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

. sẽ phù hợp với bất kỳ ký tự, thậm chí ^. Bạn cần phải loại trừ nó từ khớp lớp học của bạn

tặng một cố gắng để (?<=\[StupidHtml\]\:)([^\^]*)(?=\^)

2

Hãy regex của bạn ít tham lam bằng cách sử dụng (.*?) thay vì (.*):

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

biểu tượng '^' – Sergio

+0

(? <= \ [StupidHtml \] \:) (. *?) (? = \ ^) Hoạt động tốt. Tôi tin. – HawkEye13

+0

+1 cho Blender vì đã cho tôi ý tưởng làm cho nó ít tham lam hơn. – HawkEye13

Các vấn đề liên quan