我需要匹配字符串one
或two
以及之前和之后的5个字符
输入
中包含以下文字Lorem Ipsum只是假打印和排版的一个文本 行业。 Lorem Ipsum一直是业界标准的虚拟文本 自16世纪以来,当一个未知的打印机采用了类型的厨房 争抢它制作一个类型标本两本书。它没有幸存下来 仅仅五个世纪,也是电子排版的飞跃, 基本保持不变。它在20世纪60年代随着推广而普及 释放包含Lorem Ipsum段落的Letraset表格,以及 最近使用像Aldus PageMaker这样的桌面出版软件 包括Lorem Ipsum的版本。
输出应为
正则表达式应该与ruby中的scan方法一起使用
答案 0 :(得分:7)
这个正则表达式应该有效:
.{5}(?:one|two).{5}
如果你想要字边界,那么:
.{5}\b(?:one|two)\b.{5}
答案 1 :(得分:0)
不知道ruby语法,但一般情况下,以下内容应该有效:
.....(one|two).....
在某些语言中,你可以做类似的事情
.{5}(one|two).{5}
但这不像前一行那样得到确认
为了输出整个选择,您需要在所有选择周围使用大括号并选择第二个结果(正则表达式将第一个查找设置为一个\ 2,第二个作为查找)例如
(.....(one|two)....)
$ 1 =“一” $ 2 =“bla one bla”
编辑1 =示例 编辑2 =拼写错误