regex 正则表达式,用于从javascript中的字符串中选择#后的所有子字符串(可能是孟加拉语或印地语或英语)[duplicate]

kt06eoxx  于 2023-03-04  发布在  Java
关注(0)|答案(1)|浏览(91)
    • 此问题在此处已有答案**:

Regex for matching HashTags in any language(3个答案)
9天前关闭。
我用过

const regex = /#[a-zA-Z]+\b/g
let text    = " Hello #river #পদ্মা #ribi"
let arr     = text.match(regex);
hashTagVal  = `${arr.toString()}`

这个正则表达式单独的英语字母表,但没有得到输出的孟加拉语单词...怎么做才能得到输出孟加拉语,英语或印地语的所有标签值..请帮助..

kb5ga3dv

kb5ga3dv1#

如果您知道散列标记可以包含孟加拉语字符,那么只需使用特殊字符\u在字符集中添加孟加拉语字符范围。

const regex = /#[a-zA-Z\u0988-\u09ff]+/ug
let text    = " Hello #river #পদ্মা #ribi"
let arr     = text.match(regex);
hashTagVal  = `${arr.toString()}`

孟加拉语字符的Unicode范围可以通过简单的Google搜索很容易地检查出来。例如,下面的Wikipedia链接Bengali (Unicode block)在右边的代码片段中清楚地说明了范围。
范围是U+0980到U+09FF,这正是我使用的,除了两个范围a-zA-Z

相关问题