Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Regex-从字符串中获取x个字符数,但html标记不计入计数_Javascript_Regex - Fatal编程技术网

Javascript Regex-从字符串中获取x个字符数,但html标记不计入计数

Javascript Regex-从字符串中获取x个字符数,但html标记不计入计数,javascript,regex,Javascript,Regex,正如标题所示,我需要从字符串中获取X个字符,但HTML不包括在计数中 示例字符串 Some <i>t</i>est <b>string</b> test 另外,是否有办法将HTML编码的字符(例如作为一个字符)计算在内 从字符串开始匹配一定数量的字符,从计数和计数中排除子字符串,如实体作为一个单元,您可以使用 ^(?:&[^\s;]*;|(?:<[^<>]*>)*.){20} ^(?:&[^\s;]*;|(?:)

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

示例字符串

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

另外,是否有办法将HTML编码的字符(例如
作为一个字符)计算在内

从字符串开始匹配一定数量的字符,从计数和计数中排除子字符串,如
实体作为一个单元,您可以使用

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

详细信息

  • ^
    -字符串的开头
  • (?:
    -启动非捕获组,该组将用作以下备选方案的容器:
    • &[^\s;]*;
      -a
      &
      ,0个或多个字符,而不是空格和
      ,然后
    • |
      -或
    • (?:)*。
      -0或更多次重复
      ,然后是除换行字符以外的任何字符(使用DOTALL修饰符将任何字符与
      匹配)
  • ){20}
    -容器组的末尾,限制量词告诉引擎匹配其模式的20个连续出现

试试
^(?:(?:)*[^那太好了,虽然我刚刚想到了一个头,但是有没有办法让HTML编码的字符(例如)算作一个字符?还有,我如何在评论上给你投票?比如说
^(?:(?:)*。{9}
非常接近我把它改成了
^(?:(?:)|(?:&[^+])*){21}
但是我想把&.*;算作一个字母。有什么想法吗?我刚刚算出了
^(?:&[^\s+]*)|(?:)*){21}把数字改在19和20之间,看看我的目标是什么。谢谢你的帮助。
Some <i>t</i>est <b>str
Some <i>t</i>est <b>string</b> te
(.*?){0,10}
^(?:&[^\s;]*;|(?:<[^<>]*>)*.){20}