我必须重命名我们的应用程序,并希望搜索源代码中的所有字符串以供其使用。当然,应用程序名称可以出现在字符串中的任何位置,并且字符串可以跨越多行,这使事情变得复杂。
我使用(["'])APP_NAME
在字符串开头查找实例,但现在我需要一个更完整的解决方案。
基本上我想说的是“在正则表达式中找到被引号括起来的APP_NAME实例”。
我在Xcode中搜索,以防任何人有任何Xcode特定的替代品......
答案 0 :(得分:2)
您可以使用
"[^"]*APP_NAME[^"]*"|'[^']*APP_NAME[^']*'
请参阅regex demo。
请注意,此正则表达式基于交替(|
表示 OR )和否定字符类([^"]*
匹配除"
以外的任何0+字符)
或者,或者:
(["'])(?:(?!\1).)*APP_NAME.*?\1
见this regex demo。这种模式有点棘手:
(["'])
- 将"
或'
捕获到第1组(?:(?!\1).)*
- 任何0次出现的字符不等于捕获到第1组中的字符APP_NAME
- 文字字符序列.*?
- 除了换行符之外的任何0 +字符,但尽可能少的第一次出现...... \1
- 捕获到第1组的值。