- 此问题在此处已有答案**:
How can I get a substring located between 2 quotes?(3个答案)
3小时前关门了。
我有一个包含单引号的字符串。我想提取单引号之间的内容。下面是一个示例:
`VM Exception while processing transaction: reverted with custom error 'Nope("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266")'`
这是我在javascript中使用regex的尝试:
let re = new RegExp(/'([^']*)'/);
let result = re.exec(revert.message);
console.log(result);
输出:
[
`'Nope("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266")'`,
'Nope("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266")',
index: 70,
input: `VM Exception while processing transaction: reverted with custom error 'Nope("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266")'`,
groups: undefined
]
理想情况下,我希望Nope("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266")
在单引号示例中。我如何正确地解析出消息中的字符串?regex也适合这个吗?如果不适合,我可以考虑其他方法吗?我可以做string.split()
,但第二种意见会有帮助。
3条答案
按热度按时间ve7v8dk21#
您可以对
exec
的结果使用下标([]
)运算符来获取实际的匹配组。例如,此处:
pieyvz9o2#
另一个具有查看功能的选项:
检查here演示。
bakd9h0s3#
若要提取示例字符串中单引号之间的内容,可以使用以下正则表达式:
你也可以试试这个源代码:
这将输出:* 否(“0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266”)*