我想创建一种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 的文本,但也有之前和之后的标签的话,所以一个片段。附加的问题与片段不同。有没有人完全阅读了这个问题,或者只是标题?
1条答案
按热度按时间huus2vyu1#
我想出了这个正则表达式,它可以被容纳到一个函数中:
字符串
这是我能想到的最接近的方法了
1.数数所有的单词
1.如果另一方没有足够的单词,则在片段的开头或结尾进行补偿
虽然这在长文本中的性能似乎非常慢,所以如果性能是一个问题,它可能不是最好的事情。