【问题标题】:Sorting Yahoo Pipes entry by last word via RegEx通过 RegEx 按最后一个单词对 Yahoo Pipes 条目进行排序
【发布时间】:2012-11-12 09:30:48
【问题描述】:

我正在尝试按生成项目的其中一个条目的最后一个字对 CSV 文件中由 Yahoo Pipes 生成的项目进行排序:

this Pipe 生成的示例 JSON 项:

"items": [
  {
    "name": "Prof. Dr.-Ing. Richard Bamler",
    "link": "http:\/\/www.lmf.bv.tum.de",
    "lehrstuhl": "Lehrstuhl f\u00fcr Methodik der Fernerkundung",
    "y:row": "1",
    "description": null,
    "title": null
  },

我想我需要一个正则表达式来提取名称字符串的最后一个单词(第一个问题),我不太明白。

一如既往,感谢您的宝贵时间。

【问题讨论】:

    标签: regex yahoo-pipes


    【解决方案1】:

    I reworked your pipe a little bit。我不熟悉本地化的标题,但似乎是“komm”。是后缀而不是名称,因此我在正则表达式的末尾构建了一个异常。

    规则应如下所示:

    ^.* ([^ \.]+)( komm\.)?$ 替换为$1


    $1 是对第一个匹配组 ([^ \.]+) 的反向引用。匹配组匹配最后一组非空格或句点的连续字符。

    这种形式是必要的,因为正则表达式将在 Javascript 环境中运行,而 Javascript 不能正确处理像 ü 这样的非 ascii 字符(它认为它是非单词)。

    它的末尾还有( komm\.)?,因此它可以忽略该后缀(如果存在)。

    除此之外,我进行了一些更改以清理输出,使其更加清晰。

    【讨论】:

    • 甜蜜,这正是我想要实现的目标。你说得对 komm.,它是一个本地化的标题(意思是临时的)。非常感谢您修复管道并向我展示了 RegEx 的应用方式,我现在将对其进行更多研究。谢谢!
    • 总是乐于提供帮助! ^_^ 开始研究 RegExes 的好地方是 developer.mozilla.org/en-US/docs/JavaScript/Guide/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2021-12-07
    • 1970-01-01
    • 2014-09-11
    • 2011-12-07
    • 1970-01-01
    • 2018-06-08
    相关资源
    最近更新 更多