怎么为不同的可选值添加正则表达式?
原学程将引见若何为分歧的可选值添减正则表白式?的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。
成绩描写
我正在处置1个应用regex函数的项目。
以下是我在jsFdle中的代码
My own JsFiddle Code
这里有HTML
<div class="post-body">
<a href='/'>color=(green) title=(Hello World) caption=(Hello City 二) post=(New)</a>
</div>
以及js在这里
$(".post-body").each(function() {
var e = $(this),
t = e.find("a").text();
if (t) {
var a = t.match(/title=(([^)]*))s+caption=(([^)]*))/);
if (a) {
var s = a[一];
0 != s && e.find("a").text(s), 0 != i && e.find("a").text(i)
}
}
});
此代码运转优越,但是当我搁置色彩以及POST值时,代码停滞任务。
我没有晓得为何一切值皆没有像My World Hello City 二 New
这样显示?
上面当我测验考试搁置值时期码没有起感化,我借愿望应当有可选的,以就我们不妨应用1个值或者一切值,如在这类情形下只应用二个值题目以及题目,或许我们不妨应用一切值,如color=(green) title=(Hello World) caption=(Hello City 二) post=(New)
$(".post-body").each(function() {
var e = $(this),
t = e.find("a").text();
if (t) {
var a = t.match(/title=(([^)]*))s+caption=(([^)]*))s+post=(([^)]*))s+color=(([^)]*))s+content=(([^)]*))s+size=(([^)]*))/);
if (a) {
var s = a[一],
i = a[二];
m = a[三];
n = a[四];
z = a[五];
y = a[六];
0 != s && e.find("a").text(s), 0 != i && e.find("a").text(i), 0 != m && e.find("a").text(m), 0 != n && e.find("a").text(n), 0 != z && e.find("a").text(z), 0 != y && e.find("a").text(y)
}
}
});
在研讨中,我发明1小我创立的代码运转优越,或许它有助于处理我的成绩
Working JsFiddle Code
但是我正在测验考试创立本身的正版代码,但是它没有起感化。我愿望在这里我能获得1些处理计划。我们异常感激所有情势的赞助!
推举谜底
您不妨应用此正则表白式将一切现有字段婚配到您的语法中,如/(?:([a-zA-Z]{三,})+=(([^)]*)))/g
所示,并应用matchAll将一切字段搁进1个数组中,而后像如许轮回遍历该数组,假如您想要在某个地位显示成果:
数据-lang="js"数据-隐蔽="假"数据-掌握台="真"数据-巴贝我="假">
$(".post-body").each(function() {
var e = $(this),
t = e.find("a").text();
if (t) {
var a = [...t.matchAll(/(?:([a-zA-Z]{三,})+=(([^)]*)))/g)];
if (a) {
a.map(function(item, key){
console.log(item)
let k = item[一];
let v = item[二];
$("#results").append(`<span>${v}</span>`);
});
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/三.三.一/jquery.min.js"></script>
<div class="post-body">
<a href='/'>color=(green) title=(Hello World) caption=(Hello City 二) post=(New) title=(Hello World 三)</a>
</div>
<br />
<div id="results">
</div>
佳了闭于怎样为分歧的可选值添减正则表白式?的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。