Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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正则表达式模式导致浏览器挂起_Javascript_Jquery_Regex_Performance_Backtracking - Fatal编程技术网

javascript正则表达式模式导致浏览器挂起

javascript正则表达式模式导致浏览器挂起,javascript,jquery,regex,performance,backtracking,Javascript,Jquery,Regex,Performance,Backtracking,我在正则表达式模式中有一个问题。虽然在给定的输入中找不到该模式,但它最终会挂起浏览器。 据我说,这是陷入回溯 我使用字符串的开头和结尾 '( )?' 我使用below regex代替字符串中的空格 [^>]*( )?(</span>)?(<span[^>]*>)?(</span[^>]*>)?( )?[^>]* 输入为: <span style="left: 379.15px; top: 510.55px; font-size

我在正则表达式模式中有一个问题。虽然在给定的输入中找不到该模式,但它最终会挂起浏览器。 据我说,这是陷入回溯

我使用字符串的开头和结尾

'( )?'
我使用below regex代替字符串中的空格

[^>]*( )?(</span>)?(<span[^>]*>)?(</span[^>]*>)?( )?[^>]*
输入为:

<span style="left: 379.15px; top: 510.55px; font-size: 11.04px; font-family: sans-serif; transform: scaleX(0.918537);">2, woman, with a past medical </span>
2,女人,有过医学史
左旋甲状腺素治疗不孕症和甲状腺功能减退的显著病史


可以有n个跨距,但如果找不到该模式,则该模式不应挂起浏览器并从该功能返回。

您是否可以将输入解析为HTML?在HTML中使用正则表达式是不可靠的。这是一个PDF文件。这就是为什么我想到使用它。(它包含一组跨度)您可以轻松地将输入转换为HTML,尽管-
var div=document.createElement(“div”);div.innerHTML=输入-然后您可以在没有疯狂的正则表达式模式的情况下搜索它。
<span style="left: 379.15px; top: 510.55px; font-size: 11.04px; font-family: sans-serif; transform: scaleX(0.918537);">2, woman, with a past medical </span>