用javascript搜索字符串中的单词
我通过以下方式正确搜索字符串中的某个单词:用javascript搜索字符串中的单词,javascript,Javascript,我通过以下方式正确搜索字符串中的某个单词: let text = jsonDesc.plain_text; const product = 'Producto:'; const resultProduct = text.match(new RegExp(product + '\\s(\\w+)'))[1]; console.log( resultProduct ) // Mesa 但是,如果单词有时是小写,有时是大写,如何搜索字符串呢 我试过这个: var product =
let text = jsonDesc.plain_text;
const product = 'Producto:';
const resultProduct = text.match(new RegExp(product + '\\s(\\w+)'))[1];
console.log( resultProduct ) // Mesa
但是,如果单词有时是小写,有时是大写,如何搜索字符串呢
我试过这个:
var product = 'Producto:';
var productU = 'PRODUCTO:';
var resultProduct = text.match(new RegExp(product && productUpper + '\\s(\\w+)'))[1];
以及:
但不起作用,错误:
未捕获(承诺中)TypeError:无法读取VueComponent上null的属性“1”。getAllProducts您可以使用不区分大小写的匹配(i)作为默认值 在您的情况下,这看起来像
text.match(新的RegExp(product+'\\s(\\w+),'i'))[1]代码>
但是,我建议不要只是将产品附加到表达式中,因为它可能包含特殊的正则表达式字符。例如,现在你有一个冒号在那里,这可能会导致问题。如果产品
已修复,我会将您的代码重写为
var product = 'Producto';
text.match(new RegExp(product + '\\:\\s(\\w+)', 'i'))[1];
或者,在将其附加到其余部分之前
function escapeRegex(expression) { return expression.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); }
var product = 'Producto:';
text.match(new RegExp(escapeRegex(product) + '\\s(\\w+)', 'i'))[1];
首先将所有字符串转换为小写,然后检查字符串是否包含搜索的单词
let product = 'Producto:'
let productU = 'PRODUCTO:'
let match = product.toLowerCase().includes(productU.toLowerCase())
console.log(match)
function escapeRegex(expression) { return expression.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); }
var product = 'Producto:';
text.match(new RegExp(escapeRegex(product) + '\\s(\\w+)', 'i'))[1];
let product = 'Producto:'
let productU = 'PRODUCTO:'
let match = product.toLowerCase().includes(productU.toLowerCase())
console.log(match)