【发布时间】:2020-11-19 14:32:41
【问题描述】:
这是我的正则表达式模式。
const dataPillRegex = /#\[dataPill\((.*)\)\]/g;
带有值(奇异匹配),它打印正确的数组, 但是对于 value2(多个匹配),它会返回错误的结果。
value = "Hi #[dataPill(salesforce.0.LastName)], ?"
const splitedValue2 = value2.split(dataPillRegex); //['Hi ', 'salesforce.0.LastName', ', ?']
value2 = "Hi #[dataPill(salesforce.0.LastName)], How is going #[dataPill(salesforce.0.FirstName)]?"
const splitedValue2 = value.split(dataPillRegex);
//['Hi ', 'salesforce.0.LastName)], How is going #[dataPill(salesforce.0.FirstName', ', ?']
splitedValue2 应该是...
//['Hi ', 'salesforce.0.LastName', ', How is going ', 'salesforce.0.FirstName', ', ?']
此外,,,如果我想要拥有,,,那将是很棒的,,,
[
'Hi ',
'#[dataPill(salesforce.0.LastName)]',
', How is going ',
'#[dataPill(salesforce.0.FirstName)]',
'?'
]
【问题讨论】:
-
value 和 value2 有何不同?
-
谢谢我刚刚编辑了帖子
-
这可能是个超级难题
-
让它不那么贪婪:
/#\[dataPill\((.*?)\)\]/g;(添加'?')...也修复你的例子:splitedValue2 = value2.你可以使用 /./.exec() 方法来收集关于特定的比赛。 -
我收到了
["Hi ", "salesforce.0.LastName", ", How is going ", "salesforce.0.FirstName", "?"],在我看来,您正在寻找什么...
标签: javascript regex