Regular/摘取匹配词附近

来自康健生活
跳转到导航 跳转到搜索

引言

正则 ?<= 和 ?= 用法

取预处理的嵌入物并在张力板上进行大大可视化。 嵌入->训练嵌入 metadata.tsv->元数据信息 最大大小->嵌入。形
.{1,50}(?=(大大)).{1,50}(?<=(大大))

匹配结果是

取预处理的嵌入物并在张力板上进行大大可视化。 嵌入->训练嵌入 metadata.tsv->元数据信息 最大大

进一步处理:

export function textRegular (text, key) {
  if (text && text.length > 1) {
    const pattern = '.{1,5}(?=(' + key + ')).{1,50}(?<!(' + key + '))'
    const reg = new RegExp(pattern, 'ig')
    const getTextArray = text.match(reg)
    // eslint-disable-next-line no-unused-vars
    let getFirstText
    // eslint-disable-next-line no-constant-condition
    if (getTextArray !== null) {
      getFirstText = getTextArray[0]
      // getFirstText = getFirstText.replace(new RegExp(key, 'ig'), '&lt;span class=textLight &gt;$&' + '&lt;/span &gt;')
    } else {
      getFirstText = text.slice(0, 30)
    }
    return getFirstText
  } else {
    return text
  }
}