mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
regex: fix dot char problems on groups with * (#13333)
This commit is contained in:
@@ -2024,6 +2024,11 @@ pub fn (mut re RE) match_base(in_txt &byte, in_txt_len int) (int, int) {
|
|||||||
|
|
||||||
re.prog[state.pc].group_rep++ // increase repetitions
|
re.prog[state.pc].group_rep++ // increase repetitions
|
||||||
// println("GROUP $group_index END ${re.prog[state.pc].group_rep}")
|
// println("GROUP $group_index END ${re.prog[state.pc].group_rep}")
|
||||||
|
if re.prog[state.pc].group_rep > in_txt_len - 1 {
|
||||||
|
m_state = .ist_quant_ng
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
m_state = .ist_quant_pg
|
m_state = .ist_quant_pg
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -160,6 +160,11 @@ match_test_suite = [
|
|||||||
TestItem{"a", r"\S+",0,1},
|
TestItem{"a", r"\S+",0,1},
|
||||||
TestItem{"aaaa", r"\S+",0,4},
|
TestItem{"aaaa", r"\S+",0,4},
|
||||||
TestItem{"aaaa ", r"\S+",0,4},
|
TestItem{"aaaa ", r"\S+",0,4},
|
||||||
|
|
||||||
|
// multiple dot char
|
||||||
|
TestItem{"aba", r"a*(b*)*a",0,3},
|
||||||
|
TestItem{"/*x*/", r"/\**(.*)\**/",0,5},
|
||||||
|
TestItem{"/*x*/", r"/*(.*)*/",0,5},
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user