Как я мог бы найти все TextBlocks
в XAML файлы, которые содержат Style
параметр, используя поиск в Microsoft Visual Studio
. Можно ли использовать какое-либо regexp здесь? Вот пример блока:
<TextBlock Text="{Binding LocalizedResources.boom, Source={StaticResource LocalizedStrings}}"
Foreground="{StaticResource gray}"
TextWrapping="Wrap"
Style="{StaticResource sdfsdf}"
HorizontalAlignment="Center"
Visibility="{Binding ErrorOccured,Converter={StaticResource ToVisibilityConverter},ConverterParameter=true}"/>
Благодарю.
Поскольку вы находитесь в редакторе, обычные предупреждения об использовании регулярного выражения для синтаксического анализа xml можно смягчить (только немного)...
Это будет работать:
(?s)<TextBlock(?:(?!/>).)*?\bStyle=.*?/>
<tags>
, это не удастсяобъяснение
(?s)
активирует режим DOTALL
, позволяя точке совпадать по линиям<TextBlock
соответствует литеральным символам(?:(?!/>).)
Соответствует одному символу, если за ним не следует />
(это необходимо, чтобы избежать выскочки из текущего тега)*?
позволяет тип персонажа, о котором только что упоминалось, лениво, ноль или более раз, до...\bStyle=
буквальный Style=
, с \b
слева, чтобы гарантировать, что Style
не встроен в MyStyle
.*?
лениво соответствует символам до.../>