簡體   English   中英

查找帶有正則表達式的XAML文本

[英]find xaml text with regular expression

如何在Microsoft Visual Studio使用搜索在xaml文件中找到所有包含Style參數的TextBlocks 這里有可能使用任何正則表達式嗎? 這是一個示例塊:

<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}"/>

謝謝。

由於您在編輯器中,因此可以放寬使用regex解析xml的通常警告(僅一點點)...

這將起作用:

(?s)<TextBlock(?:(?!/>).)*?\bStyle=.*?/>

參見演示

  • 訣竅是確保我們不會超過結束標記,並最終匹配比我們想要的更多的文本。
  • 如果存在嵌套的<tags> ,這將失敗

說明

  • (?s)激活DOTALL模式,允許點跨線匹配
  • <TextBlock匹配文字字符
  • 非捕獲組(?:(?!/>).)匹配一個字符,只要后面不跟/> (這是為了避免跳出當前標簽)
  • *? 允許剛才提到的字符類型懶惰地進行零次或多次運算,最多...
  • \\bStyle=文字Style= ,左側帶有\\b以確保Style未嵌入MyStyle
  • .*? 懶惰地匹配字符直到...
  • 結束/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM