Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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/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中(?<;=exp)的替代方案?_Javascript_Regex - Fatal编程技术网

Javascript中(?<;=exp)的替代方案?

Javascript中(?<;=exp)的替代方案?,javascript,regex,Javascript,Regex,我读了一些关于regex的教程,看到了一句话: (?你不能这么做。在Javascript正则表达式的实现中没有lookbehind断言 备选方案 在某些情况下,您可以使用分组来捕获实际需要匹配的内容:/Sh(are)/i 如果确实需要lookbehind,可以使用第三方正则表达式库 相关的 您可以使用 这告诉正则表达式在不捕获sh组的情况下查找are /sh(are)/ 然后只匹配第一组如果我理解得很清楚,我会使用这个regexp /(Sh|\b)(are)/gi 其中,are只能是

我读了一些关于regex的教程,看到了一句话:


(?你不能这么做。在Javascript正则表达式的实现中没有lookbehind断言

备选方案

  • 在某些情况下,您可以使用分组来捕获实际需要匹配的内容:
    /Sh(are)/i

  • 如果确实需要lookbehind,可以使用第三方正则表达式库

相关的

您可以使用

这告诉正则表达式在不捕获
sh
组的情况下查找
are

/sh(are)/

然后只匹配第一组

如果我理解得很清楚,我会使用这个regexp

/(Sh|\b)(are)/gi
其中,
are
只能是一个单词或前面有
Sh

的子字符串。唯一的方法(当然,只有在正则表达式中没有前瞻性断言的情况下,这才有效)是反转字符串,并使用前瞻而不是落后:

/era(?=hS)/i

谢谢你的回答。但是如果我使用这个正则表达式,匹配的索引是0,而不是2。你能给我更多的解决方案吗?为什么索引应该重要?你想匹配什么字符串?例如,请提供一个提琴来突出显示结果。我想找到“是”满足一些条件。
“共享关怀”。匹配(/(?=.+?是)(.+?)/)
返回
[“S”,“S”]
-测试很多?谢谢,但这不是我想要的。谢谢你的回答。我想匹配的索引是2(匹配“are”):“Share.search(regex)=2。有什么想法吗?@BoodCarley:你可以使用第三方正则表达式库。有关类似问题的链接,请参阅我的更新。
/era(?=hS)/i