寻找正则表达式从js文件中提取所有文本输出给用户

时间:2010-12-15 14:33:35

标签: regex

我有一些巨大的js文件,还有一些文本/消息/ ...是人类的输出。问题是它们不会运行相同的方法。

但是我想找到它们来重构代码。 现在我正在寻找正则表达式来查找这些消息。

...his.submit_register = function(){
        if(!this.agb_accept.checked) {
            out_message("This is a Messge tot the User in English." , "And the Title of the Box. In English as well");
            return fals;
        }
        this.valida...

我想要找到的是所有不是源代码的字符串。 在这种情况下,我想要作为回报:

  • 这是

  • 中的用户信息
  • 英语。和盒子的标题。在 英语以及

我试过类似:/\"(\S+\s{1})+\S\"/的东西,但这不会起作用......

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

使用正则表达式解析Javascript源代码是不可能的,因为Javascript不是常规语言。您可以编写一个大多数时间都能正常工作的正则表达式:

/"(.*?)"/

?表示匹配并非贪婪。

注意:这将无法正确处理包含ecaped引号的字符串。

答案 1 :(得分:0)

一个简单的java正则表达式解决你的问题(假设消息不包含“字符”):

Pattern p = Pattern.compile("\"(.+?)\"");

提取代码:

Matcher m;

for(String line : lines) {
    m = p.matcher(line);
    while(m.find()) {
        System.out.println(m.group(1));
    }
}