gpt4 book ai didi

javascript - 在 JavaScript 中使用正则表达式解析书籍源

转载 作者:行者123 更新时间:2023-12-02 16:58:31 25 4
gpt4 key购买 nike

我目前正在构建一个解析器,该解析器应该从绝对困惑中提取不同的源:)我已经研究了几天,它工作得很好。然而,当我试图解析一本书的最后几段时,我遇到了一个严重的问题。没有任何字符可以真正帮助我分离东西:

var str = 'John Doe, Max Mustermann, Taro Tanaka, My Mean Title: Some titles are just totally, absolutely, and unnecessarily mean';

如您所见,该字符串包含由逗号分隔的名称和包含逗号但不需要引号引起来的标题。另外,我的测试数据中有类似的版本,如下所示:

var str = 'John Doe, Max Mustermann, Taro Tanaka: My Mean Title: Some titles are just totally, absolutely, and unnecessarily mean';

这并没有让事情变得更容易。我想要的是将书名存储在一个对象中(该对象已经包含日期、出版商等),然后从源字符串中删除标题。如果有人能帮助我,我会很高兴:)

这是一个可以玩的 fiddle :http://jsfiddle.net/TheFatalist/927645vz/1/不过,我建议使用这个工具:http://leaverou.github.io/regexplained/

提前非常感谢!一旦我能弄清楚一些事情,我就会更新 fiddle 。

编辑:为了避免混淆:我正在搜索分隔标题和名称的正则表达式。或者另一种解决方法。我希望有某种方法可以识别这一点......但我无法弄清楚。

最佳答案

正如 @nnnnnn 所说,很难以非常可靠的方式做到这一点,但当您尝试从字符串末尾匹配时可能会到达某个地方:

var str = 'John Doe, Max Mustermann, Taro Tanaka, My Mean Title: Some titles are just totally, absolutely, and unnecessarily mean';
var str2 = 'John Doe, Max Mustermann, Taro Tanaka: My Mean Title: Some titles are just totally, absolutely, and unnecessarily mean';

// assume all characters after semicolon as title and include all characters and whitespace before the semicolon
// everything before the title is assumed to be authors
var regex = /(.*?)((\w|\s)+:[^:]+)$/;

var str_match = regex.exec(str);
$('body').append('<br>string: "'+str+'"<br>title: '+ str_match[2]+'<br>authors: '+str_match[1]);

$('body').append('<br><br>');

var str2_match = regex.exec(str2);
$('body').append('<br>string: "'+str2+'"<br>title: '+ str2_match[2]+'<br>authors: '+str2_match[1]);

关于javascript - 在 JavaScript 中使用正则表达式解析书籍源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com