简体   繁体   English

Javascript - 通过正则表达式匹配单词 - 非英语

[英]Javascript - match word by regex - Non-English

Need to match words by checking comma between values.需要通过检查值之间的逗号来匹配单词。 Below script works fine for English text as expected.下面的脚本按预期适用于英文文本。

 var str = "Sandwich Islands,Congo, Democratic Republic,Mauritania,Finland"; var res = str.match(/\\w.*?\\w(?=,\\w|$)/g); console.log(res)

But, it doesnt work for non-english characters.. similar logic i need to bring non-english texts as well.但是,它不适用于非英文字符。类似的逻辑我也需要带上非英文文本。

You can do this using character matching您可以使用字符匹配来做到这一点

var res = str.match(/[毎日2名様までの,ボトルワインやチ2名様までご滞在中の,またはラウアメニテ]+/g);

or using character ranges, like或使用字符范围,例如

var res = str.match(/[a-zA-Z]+/g);

You can use ascii code range and base your regex on it您可以使用 ascii 代码范围并将您的正则表达式基于它

 console.log("毎".charCodeAt()) console.log("A".charCodeAt()) console.log("Z".charCodeAt()) console.log("--------"); const s = "毎日2名様までの,ボトルワインやチ, (2名様まで),ご滞在中の,またはラウ,アメニテ"; [...s].map(l => { console.log(l.charCodeAt()) })

If you are positive that:如果你是肯定的:

  1. you do not use spaces between items after commas逗号后的项目之间不要使用空格
  2. space after comma is in the same item逗号后的空格在同一项目中
  3. '>' is not used in data '>' 未在数据中使用

You can try without regex:您可以尝试不使用正则表达式:

replaceAll = (what, withWhat, str) => {
    const reg = new RegExp(what, 'g');
    return str.replace(reg, withWhat);
}
var str = "Complimentary daily, buffet breakfast,Special amenities, wine and chocolates,two persons at selected hotels ,Food and beverage";
var res = replaceAll(", ",">", str).split(",").map(i=> replaceAll(">", ", ", i))
console.log(res)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在 JavaScript 中使用正则表达式匹配非英语单词 - Match non-English words using Regex in JavaScript Javascript和Regex用于在忽略表情符号的同时进行非英语字符检测 - Javascript & Regex for non-english character detecting whilst ignoring emojis javascript regex:如何挑选英文单词,非英语字符和特殊字符? - javascript regex: how to single out english words AND non-english characters AND special characters? 正则表达式验证非英语字符 - regex to validate non-english characters [部分解决]Javascript 正则表达式允许所有非英文字母、连字符和下划线并阻止所有其他字符? - [partially solved]Javascript Regex for allowing all non-english alphabets , hyphen and underscore and block everythinh else? 如何使用JavaScript将非英语字符转换为英语 - How to Convert Non-English Characters to English Using JavaScript 输入只允许英文和非英文字符javascript? - input only allow english and non-english character javascript? 我如何获得用户键入的非英语语言中的特殊单词的单词,包括c#,javascript - How i can get the word who user type for a special word in non-english language in any language even c# , javascript 正则表达式只匹配字母,空格和非英语字符? - Regular expression to match only letters, space and non-English characters? 允许正则表达式中的(破折号)和(数字)用于非英语字符 - Allow (dash) & (numbers) in regex for NON-English characters
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM