我正在对 Android 应用程序执行本地化。此过程中的痛点之一是区分用于向用户显示的字符串文字和在本地/以编程方式使用的字符串文字之间的区别。
public static String PERSON = "Person";
intent.putExtra("isPerson", isPerson);
myTextView.setText("My name is Mark");
什么是正则表达式,我可以使用它给我的代码行,其中文本用引号引起来,但 1)不是变量声明和 2)不像第二行那样用作字符串键/值映射中的键。理想的目标是让表达式的匹配结果为第 3 行的类型。我可以查找包含 setText 的字符串,但随后会丢失如下硬编码的字符串:
String firstName = "Mark";
myTextView.setText(firstName);
我已经设法得到所有非空的被引号包围的字符串:
\"\w{1,}"
问题是它太宽泛了,给了我一切。此外,我希望以下内容能够返回所有不包含 putExtra 的字符串:
(?<!putExtra).\"\w{1,}"
但这也不能很好地工作,因为它返回的结果如下:
intent.putExtra("title", "Welcome");
当我想排除任何包含 putExtra 子字符串的文本行时,“欢迎”使它显示为匹配项。
您的 RegEx 大师的任何帮助将不胜感激。我目前正在使用启用正则表达式的 Eclipse 文件搜索功能