【问题标题】:Find matching words in file using regex使用正则表达式在文件中查找匹配的单词
【发布时间】:2013-09-30 21:21:04
【问题描述】:

这是我之前的问题的延续:Parse text file with regex,但是因为我正在创建新的表达式,所以我不想编辑那个问题。

感谢 Jerry,我能够找到匹配项,但我需要变得更复杂。

ExtJS 中的类可以有 requires 和 mixins 部分:

Ext.define('Ext.Window', {
    extend: 'Ext.Panel',
    requires: ['Ext.util.MixedCollection', 'Ext.util.BasicDrag'],
    mixins: {
        draggable: 'Ext.util.Draggable',
        droppable : 'Ext.utils.Droppable'
    }
});

感谢上一个问题,我能够得到extend 部分,但从上面的例子中我想得到:

Ext.Panel
Ext.util.MixedCollection
Ext.util.BasicDrag
Ext.util.Draggable
Ext.utils.Droppable

这一切都可以使用单个 RegEx 完成吗?或者也许是 3 个不同的正则表达式(一个来自 Jerry 的回答)

requires 部分可以如下所示:

requires: 'Ext.util.MixedCollection'

    requires: ['Ext.util.MixedCollection', 'Ext.util.BasicDrag'],

    requires: [
               'Ext.util.MixedCollection', 
               'Ext.util.BasicDrag'
              ],

与 mixins 相同。
这背后的想法是获取所有依赖项并构建自定义缩小的 JS 文件(我知道 Sencha CMD 工具)

我能够获得单个 requires,但我无法获得多个元素来匹配。我开始的正则表达式:http://regexr.com?36hto

【问题讨论】:

    标签: c# regex winforms


    【解决方案1】:

    像这样?

    requires\s*:\s*(?:\[)?\s*(?:(?:'([^']+)')(?:,\s*)?)+\s*(?:\],?)?

    http://regexr.com?36huj

    编辑

    requires\s*:\s*(?:\[)?\s*(?:(?:'(?<inside>[a-zA-Z.]*)')(?:,\s*)?)+\s*(?:\],?)?

    这似乎是你想要的命名匹配

    【讨论】:

    • 这看起来令人印象深刻:) 但我怎样才能只获得匹配项?请参阅:stackoverflow.com/a/19102400/965722。如何命名组以仅获取所需的部分?
    • 这是我的尝试:regexr.com?36i1a 请你看看它是否正确?
    • 这个表达式中进行匹配的位是([^']+)在中间。您可以将其替换为您的语言特定匹配的东西。
    • 我已经添加了我认为它需要的内容,但这不是我的语言。
    • 谢谢 :) 我会尝试在我的应用程序中实现它,然后看看,但是使用在线测试器看起来不错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 2015-12-13
    • 2020-03-04
    • 1970-01-01
    相关资源
    最近更新 更多