正则表达式匹配最近的术语

时间:2015-08-17 12:27:06

标签: regex notepad++

对于下面的段落,我将把它粘贴到Notepad ++中并使用Count功能来查找“foo bar测试的计数。\ r \ n这是一个” 我知道我可以使用“扩展”搜索模式执行此操作,但我的真实场景需要正则表达式。

  

reg ex的测试   这是foo bar的测试   这是一个测试foo
  这是foo bar的测试   这是一个测试foo
  这是foo bar的测试   这是测试foo

用简单的英语,我正在尝试

  1. 找到“这是一个”的位置
  2. 在单词test的第一个实例中回溯并停止。
  3. 我不太确定如何标题,我稍后会修改

    这个怎么样?随机a1-f3文本

      

    d1的测试   e2的测试   f3的测试   这是a1的测试   这是一个测试foo   这是b2的测试   这是一个测试foo   这是c3的测试   这是一个测试foo。

    也想使用自修饰符++以来的s修饰符。匹配换行符使用s修饰符。除了第一场比赛之外,我在下面的屏幕上几乎有我需要的东西,它匹配得太多了。

    almost there

    示例文字, http://pastebin.com/xKJa8ECe

    我现在拥有的,匹配的东西 enter image description here

3 个答案:

答案 0 :(得分:1)

 <com.my.package.name.MyPreferenceCheckBox
        android:title="@string/my_title"
        android:defaultValue="true"
        android:key="@string/my_key"
        android:summary="On/Off" />

你可以使用它。参见演示。

https://regex101.com/r/uF4oY4/48

答案 1 :(得分:1)

试试这个正则表达式:

test of .{2}\s+This is a

Regular expression visualization

不要忘记取消选中选项. matches newline。 ( Alt +

enter image description here

记事本6.7.8.2

上测试

答案 2 :(得分:1)

根据您的定义,不应该选择更多文本,如下所示:

  

d1的测试   e2的测试    f3的测试   这是对a1的测试   这是一个测试foo   这是对b2的测试   这是一个测试foo   这是对c3的测试   这是一个测试foo。

但无论如何,既然你只是在计算,你可以使用它:

.test of.*?\nThis is a

匹配您想要的内容(包括单词测试前的一个字符,因为您似乎不希望任何'测试'开始一行

  

d1的测试   e2的测试   f3的测试   这是a1的测试   这是一个测试foo   这是b2的测试   这是一个测试foo   这是c3的测试   这是一个测试foo。

编辑: 不使用'。':

 test of(\S|\s)*?This is a