Что нового

баг в функции StringRegExp

vovsla

Осваивающий
Сообщения
607
Репутация
36
почему-то при сравнении текста в котором встречаются скобки, функция возвращает несовпадение.
Код:
;возвращает 1
MsgBox(4096, "Test1", StringRegExp("test", "test") )

;возвращает 1
MsgBox(4096, "Test2", StringRegExp("(test)", "(test)") )

;возвращает 0
MsgBox(4096, "Test3", StringRegExp("test(test)", "test(test)") )

;возвращает 0
MsgBox(4096, "Test4", StringRegExp("test(test", "test(test") )

;возвращает 0
MsgBox(4096, "Test5", StringRegExp("testtest)", "testtest)") )

;возвращает 0
MsgBox(4096, "Test6", StringRegExp("test()test", "test()test") )
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Vovsla [?]
при сравнении текста в котором встречаются скобки, функция возвращает несовпадение
А если почитать справку по внимательнее?
Скобки это служебные символы, их нужно "отменять":

Код:
MsgBox(4096, "Test3", StringRegExp("test(test)", "test\(test\)") )


иначе «test(test)» рассматривается как «testtest», где второй «test» обозначается группой.
 
Верх