正则表达式与中英文unicode

Lam*_*bar 2 javascript regex jquery ecmascript-6

我试图在给出的内容中检测带有一些中文字符的主题标签,如下所示:

#xyz Wo hat man die beste Aussicht auf die F1 Rennbahn? Kai Ebel hat 
einen Tipp für euch ! #visitsingaporeFür den Überblick: #ViewFromTheTop
Einer der besten Orte in Singapur , um das Nachtrennen von oben zu sehen
, ist für mich CE LA VI auf dem Marina Bay Sands. #wea???? Die #kkk.
Panorma Sicht auf die Stadt und auf die Rennbahn sind spektakulär !
#visitsingapore https://s.l/JA5DAF #abc #???? #a?
Run Code Online (Sandbox Code Playgroud)

我试过的正则表达式是:

#[\u4E00-\u9FCC]+|#(\w)
Run Code Online (Sandbox Code Playgroud)

但是无法检测到完整的标签#wea????,我怎么能这样做?

Ale*_*shy 5

像下面这样的东西?

var string = '#xyz Wo hat man die beste Aussicht auf die F1 Rennbahn? Kai Ebel hat einen Tipp für euch ! #visitsingaporeFür den Überblick: #ViewFromTheTopEiner der besten Orte in Singapur , um das Nachtrennen von oben zu sehen, ist für mich CE LA VI auf dem Marina Bay Sands. Die #kkk. Panorma Sicht auf die Stadt und auf die Rennbahn sind spektakulär ! #visitsingapore https://s.l/JA5DAF #abc #???? #a? #wea????';

const REGEX = /(#[\u4E00-\u9FCC]+|#(\w)\p{Script=Hani}.+|#(\w)+)/gu;
console.log(string.match(REGEX));
Run Code Online (Sandbox Code Playgroud)

要匹配中文,您只需执行以下操作:

const REGEX = /(\p{Script=Hani})+/gu;
console.log('??'.match(REGEX));
Run Code Online (Sandbox Code Playgroud)

诀窍是使用\ p并使用正确的脚本名称,Hani代表汉字(中文).完整的脚本列表如下:http://unicode.org/Public/UNIDATA/PropertyValueAliases.txt