Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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 如何使用regexp在原始html文本节点中的非终点点后插入打断标记_Javascript_Regex - Fatal编程技术网

Javascript 如何使用regexp在原始html文本节点中的非终点点后插入打断标记

Javascript 如何使用regexp在原始html文本节点中的非终点点后插入打断标记,javascript,regex,Javascript,Regex,我正在尝试创建一个正则表达式,它匹配所有不在引号之间且后面没有“”的点。在这种情况下,组捕获可能会有所帮助 只要捕获另一组中的点,就可以使用甚至捕获字符串表达式: /((?:[^"\.]|(?:"(?:\\\\|\\"|[^"])*"))*)(\.(?!\s*<))((?:[^"\.]|(?:"(?:\\\\|\\"|[^"])*"))*)/g 将生成以下匹配项: 匹配1 完全匹配,从字符0到15:“Thi\\\\”s.。 第1组,从字符14到字符15: 比赛2 完全匹配,从字符1

我正在尝试创建一个正则表达式,它匹配所有不在引号之间且后面没有“”的点。在这种情况下,组捕获可能会有所帮助

只要捕获另一组中的点,就可以使用甚至捕获字符串表达式:

/((?:[^"\.]|(?:"(?:\\\\|\\"|[^"])*"))*)(\.(?!\s*<))((?:[^"\.]|(?:"(?:\\\\|\\"|[^"])*"))*)/g
将生成以下匹配项:

匹配1
  • 完全匹配,从字符0到15:
    “Thi\\\\”s.。
  • 第1组,从字符14到字符15:
比赛2
  • 完全匹配,从字符15到字符16:
  • 第1组,从字符15到字符16:
比赛3

  • 完全匹配,从char 18到char 55:
    我想你可以简化一点任务:首先用引号替换所有以引号开头和结尾的子字符串,然后用点计数(或做任何你需要的事情),比如:
    “this.is.a.test sen“tence.”。替换(/“*?”/g)”)
    也许你能告诉我们你想做什么吗?例如,如果是live HTML,您可以编辑文本内容,忽略标记。问题是我仍然需要以引号开头和结尾的子字符串。例如,我无法删除两个引号之间的“0.5s”。@mplungjan:我更新了我的问题,以明确我在这里要实现的目标。您使用的是什么平台?node.js?浏览器
    This. is.a.<break time="0.5s"/> test sentence.
        ^   ^ ^                                  ^
    
    This. is.a.<break time="0.5s"/> test sentence.
        ^   ^                                    ^
    
    /((?:[^"\.]|(?:"(?:\\\\|\\"|[^"])*"))*)(\.(?!\s*<))((?:[^"\.]|(?:"(?:\\\\|\\"|[^"])*"))*)/g
    
    "Thi\\\"s." is..a.<break time="0\".5s"/> test sentence.