相关疑难解决方法(0)

如何在JavaScript中使用类似于PHP的preg_match_all()的正则表达式匹配多次出现?

我试图解析是由由两种分离的key = value对的URL编码的字符串&&.

以下内容仅匹配第一次出现,将键和值分解为单独的结果元素:

var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/)
Run Code Online (Sandbox Code Playgroud)

字符串'1111342 = Adam%20Franco&348572 = Bob%20Jones'的结果将是:

['1111342', 'Adam%20Franco']
Run Code Online (Sandbox Code Playgroud)

使用全局标志'g'将匹配所有匹配项,但仅返回完全匹配的子字符串,而不是分离的键和值:

var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/g)
Run Code Online (Sandbox Code Playgroud)

字符串'1111342 = Adam%20Franco&348572 = Bob%20Jones'的结果将是:

['1111342=Adam%20Franco', '&348572=Bob%20Jones']
Run Code Online (Sandbox Code Playgroud)

虽然我可以&单独拆分字符串并分别拆分每个键/值对,但有没有办法使用JavaScript的正则表达式支持来匹配模式的多次出现,/(?:&|&)?([^=]+)=([^&]+)/类似于PHP的preg_match_all()函数?

我的目标是通过某种方式获得结果,子匹配分开如下:

[['1111342', '348572'], ['Adam%20Franco', 'Bob%20Jones']]
Run Code Online (Sandbox Code Playgroud)

要么

[['1111342', 'Adam%20Franco'], ['348572', 'Bob%20Jones']]
Run Code Online (Sandbox Code Playgroud)

javascript regex

157
推荐指数
6
解决办法
23万
查看次数

如何在JavaScript中查找一个字符串中所有出现的索引?

我试图在另一个字符串中找到所有出现的字符串的位置,不区分大小写.

例如,给定字符串:

I learned to play the Ukulele in Lebanon.

和搜索字符串le,我想获取数组:

[2, 25, 27, 33]
Run Code Online (Sandbox Code Playgroud)

两个字符串都是变量 - 也就是说,我不能对它们的值进行硬编码.

我认为对于正则表达式来说这是一个简单的任务,但经过一段时间的努力找到一个可行的表达式之后,我没有运气.

我找到了如何使用这个实例的例子.indexOf(),但肯定有一个更简洁的方法来做到这一点?

javascript regex string indexof

83
推荐指数
6
解决办法
11万
查看次数

标签 统计

javascript ×2

regex ×2

indexof ×1

string ×1