在 JavaScript 中将一个很长的正则表达式分成几行
Break a long regular expression into several lines in JavaScript
我想把下面的正则表达式分成几行代码。
document.body.innerHTML = document.body.innerHTML.replace(/Aarau|Aargau| <break here> more|words|follow|here/g, function(m) {
return '<span style="background-color:lightblue">'+m+'</span>';
});
这里有一个简单的方法来打破这条线:
document.body.innerHTML = document.body.innerHTML.replace(
/Aarau|Aargau|more|words|follow|here/g,
function (m) {
return '<span style="background-color:lightblue">'+m+'</span>';
}
);
如果你有一个很长的正则表达式,把它写成一个字符串并编译它:
var longRegex = new RegExp('Aarau|Aargau|aardvark|aardwolf|' +
'aargh|more|stuff|earth|worm|earthworm|geese|moose|mice|' +
'yet|more|and|more|et|cetera|and|so|on', 'g');
document.body.innerHTML = document.body.innerHTML.replace(longRegex,
function (m) {
return '<span style="background-color:lightblue">'+m+'</span>';
}
);
另一种可能是将单个单词写在一个数组中,然后在编译正则表达式时将它们与|
连接起来。如果您已经存储了单词数组,这将特别方便。
var words = ['Aarau', 'Aargau', 'aardvark', 'aardwolf', 'aargh',
'more', 'stuff', 'earth', 'worm', 'earthworm', 'geese', 'moose', 'mice',
'yet', 'more', 'and', 'more', 'et', 'cetera', 'and', 'so', 'on'];
var wordRegex = new RegExp(words.join('|'), 'g');
document.body.innerHTML = document.body.innerHTML.replace(wordRegex,
function (m) {
return '<span style="background-color:lightblue">'+m+'</span>';
}
);
There is an aardwolf eating earth containing worms in Aargau.
我想把下面的正则表达式分成几行代码。
document.body.innerHTML = document.body.innerHTML.replace(/Aarau|Aargau| <break here> more|words|follow|here/g, function(m) {
return '<span style="background-color:lightblue">'+m+'</span>';
});
这里有一个简单的方法来打破这条线:
document.body.innerHTML = document.body.innerHTML.replace(
/Aarau|Aargau|more|words|follow|here/g,
function (m) {
return '<span style="background-color:lightblue">'+m+'</span>';
}
);
如果你有一个很长的正则表达式,把它写成一个字符串并编译它:
var longRegex = new RegExp('Aarau|Aargau|aardvark|aardwolf|' +
'aargh|more|stuff|earth|worm|earthworm|geese|moose|mice|' +
'yet|more|and|more|et|cetera|and|so|on', 'g');
document.body.innerHTML = document.body.innerHTML.replace(longRegex,
function (m) {
return '<span style="background-color:lightblue">'+m+'</span>';
}
);
另一种可能是将单个单词写在一个数组中,然后在编译正则表达式时将它们与|
连接起来。如果您已经存储了单词数组,这将特别方便。
var words = ['Aarau', 'Aargau', 'aardvark', 'aardwolf', 'aargh',
'more', 'stuff', 'earth', 'worm', 'earthworm', 'geese', 'moose', 'mice',
'yet', 'more', 'and', 'more', 'et', 'cetera', 'and', 'so', 'on'];
var wordRegex = new RegExp(words.join('|'), 'g');
document.body.innerHTML = document.body.innerHTML.replace(wordRegex,
function (m) {
return '<span style="background-color:lightblue">'+m+'</span>';
}
);
There is an aardwolf eating earth containing worms in Aargau.