gpt4 book ai didi

javascript - 正则表达式 - 从字符串中获取 x 个字符,但 html 标签不计入计数

转载 作者:行者123 更新时间:2023-11-29 23:13:34 24 4
gpt4 key购买 nike

如标题所示,我需要从字符串中获取 X 个字符,但 HTML 不包括在计数中。

示例字符串

Some <i>t</i>est <b>string</b> test

会输出9个字符

Some <i>t</i>est

输出13个字符

Some <i>t</i>est <b>str

输出19个字符

Some <i>t</i>est <b>string</b> te

我不太确定从基础到哪里

(.*?){0,10}

另外,有没有办法制作 HTML 编码的字符,例如<算作一个字符?

最佳答案

要匹配字符串中一定数量的字符,首先要排除子字符串,如 <...>从计数和计数&XX*;实体作为一个单元,你可以使用

^(?:&[^\s;]*;|(?:<[^<>]*>)*.){20}

参见 regex demo .

详情

  • ^ - 字符串开始
  • (?: - 开始一个非捕获组,它将作为以下替代方案的容器:
    • &[^\s;]*; - 一个 & , 0 个或多个除空格和 ; 以外的字符然后 ;
    • | - 或者
    • (?:<[^<>]*>)*. - < 的 0 次或多次重复, 除 < 以外的 0+ 个字符和 >然后 > , 然后是换行符以外的任何字符(使用 DOTALL 修饰符将任何字符与 . 匹配)
  • ){20} - 容器组的结尾和限制量词告诉引擎匹配其模式的 20 次连续出现。

关于javascript - 正则表达式 - 从字符串中获取 x 个字符,但 html 标签不计入计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53374009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com