Я пытаюсь создать строку регулярного выражения, чтобы найти все случаи разворачивания силы в swift.Это будет искать все слова с восклицательными знаками во всей базе кода.Тем не менее, регулярное выражение, которое я уже включил, включило неявное объявление переменной, которую я пытаюсь исключить.
Это регулярное выражение, которое у меня уже есть.
(:\s)?\w+(?<!as)\)*!
И оно работает нормально.Он ищет «variableName!», «(VariableName)!», «Hello.hello!».Исключение принудительного литья также работает.Он избегает таких случаев, как «привет как! UIView», но я также пытаюсь исключить другие случаи, такие как «var hello: UIView!»который имеет восклицательный знак.Это проблема, с которой я столкнулся.Я пробовал использовать отрицательный взгляд и отрицательный взгляд назад, и ничто не помогло решить этот случай.
Это пример регулярного выражения, над которым я работаю
(:\s)?\w+(?<!as)\)*!
И это результат
testing.(**test)))!**
Details lists capture **groups!**
hello as! hello
**Hello!**
**testing!**
testing**.test!**
Hello != World
var noNetworkBanner**: StatusBarNotificationBanner!** <-- need to exclude
"var noNetworkBanner**: StatusBarNotificationBanner!**" <-- need to exclude