Regex来获取匹配项周围的额外文本,这与获取给定文本中包含匹配项的代码片段非常相似

s4n0splo  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(84)

我想创建一种snippet regex,它获取匹配的文本+匹配之前或之后的任何单词(如果有的话)。因此,给定以下文本:
第一个月
getSnippet(text, number, match)这样的函数将从上面得到一个片段,其中number是我们希望结果包含的单词数,match是我们希望从中得到片段的部分。因此,调用上面的getSnippet(text,10, 'ipsum'),将返回:

['Lorem Ipsum is simply dummy text of the printing and', 'and typesetting industry. Lorem Ipsum has been the industry's standard']

字符串
我在想,一些有前瞻性和前瞻性的东西应该做到这一点,但我不确定的是单词计数。而棘手的部分是,如果后面没有匹配,就补偿前面的匹配,或者相反。
谢啦,谢啦
编辑:
我不明白重复闭包。我不想让标签 Package 的文本,但也有之前和之后的标签的话,所以一个片段。附加的问题与片段不同。有没有人完全阅读了这个问题,或者只是标题?

huus2vyu

huus2vyu1#

我想出了这个正则表达式,它可以被容纳到一个函数中:

/(\S*\s*){0,5}lorem(\s*\S*){0,5}/gi

字符串
这是我能想到的最接近的方法了
1.数数所有的单词
1.如果另一方没有足够的单词,则在片段的开头或结尾进行补偿
虽然这在长文本中的性能似乎非常慢,所以如果性能是一个问题,它可能不是最好的事情。

相关问题