gpt4 book ai didi

php - 将正则表达式从 PHP 移植到 JavaScript

转载 作者:行者123 更新时间:2023-11-28 16:39:58 25 4
gpt4 key购买 nike

我在 PHP 中有以下正则表达式:

/(?<=\')[^\'\s][^\']*+(?=\')|(?<=")[^"\s][^"]*+(?=")|[^\'",\s]+/

我想将它移植到 JavaScript,例如:

var regex = new RegExp('/(?<=\')[^\'\s][^\']*+(?=\')|(?<=")[^"\s][^"]*+(?=")|[^\'",\s]+/');

var match = regex.exec("hello,my,name,is,'mr jim'")

for( var z in match) alert(match[z]);

这里有一些 JavaScript 不喜欢的东西,但我不知道它是什么。我尝试通过正则表达式.info 寻找 PHP 和 JS 正则表达式之间的差异,但我看不到任何明显的东西。

任何帮助将不胜感激

再次感谢

编辑:问题似乎出在正向回顾中,但这是否意味着它无法移植?

最佳答案

正确 - 积极的回顾不会起作用。

但是,正如有关 Javascript 中正则表达式的一些一般信息一样,这里有一些提示供您使用。

您不必使用 RegExp 对象 - 您可以使用模式文字

var regex = /^[a-z\d]+$/i;

但是如果您使用 RegExp 对象,则必须转义反斜杠,因为您的模式现在已锁定在字符串中。

var regex = new RegExp( '^[a-z\\d]+$', 'i' );

RegExp 对象的主要好处是您的模式是否有动态位,例如

var max = 4;
var regex = new RegExp( '\d{1,' + max + '}' );

关于php - 将正则表达式从 PHP 移植到 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1411367/

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