我有这样的文字:
Habitación101
正如你所看到的那样,有一个带重音的字母:ó
我正在寻找一个常规的表达,当这个单词写成没有重音时,也就是“习惯”。
我正在使用JavaScript的new RegExp(keyword, 'u')
。
答案 0 :(得分:1)
只需使用Habitaci[ó|o]n
作为正则表达式。
const regex = new RegExp('Habitaci[ó|o]n', 'gi');
[ó|o]
匹配列表ó|o
中的单个字符。
这是一个演示:
const regex = new RegExp('Habitaci[ó|o]n', 'gi');
const str = `Habitación
Habitacion`;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}