![](/img/trans.png)
[英]Javascript - Extract part of a string lying between two special characters
[英]JavaScript: Extract part of string between two optional characters with Regex
我正在使用javascript中的正则表达式来捕获两个可选字符之间的部分字符串。
可选字符为:'='和'||'
场景:
用于获取'||'之后的值 我用split()函数来处理。
为了获得“简单消息”部分,我设法同时使用'='和'||'时使用正则表达式match(/\\=(.*)\\|\\|/).pop()
提取字符串match(/\\=(.*)\\|\\|/).pop()
在字符串中。
有两个可选字符之一时,用一个正则表达式提取字符串的任何建议吗?
我也尝试了/(\\=)?(.*)(\\|\\|)?/
但没有用。
这可能应该做您想要的:
^LENGTH(?:=([^|]*))?(?:\|\|(\d+))?$
这将匹配LENGTH=
和||
之间的部分 之后的部分。 如果存在,两者都将返回结果。
例:
[
"LENGTH=A simple message||5",
"LENGTH=A simple message",
"LENGTH||5"
].forEach(function(string)
{
var result = string.match(/^LENGTH(?:=([^|]*))?(?:\|\|(\d+))?$/);
console.log("found:",result[1],result[2]);
});
当然,这里有一些关于数据实际格式的假设。
输出:
found: A simple message / 5
found: A simple message / undefined
found: undefined / 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.