[英]Javascript regex for splitting by whitespace for accented chars
我試圖通過空格分割javascript中的字符串,但忽略引號括起來的空格。 所以我用谷歌搜索了這個正則表達式:( (/\\w+|"[^"]+"/g)
但問題是,這不適用於á等重音字符。所以請問我應該如何改進我的正則表達式讓它起作用?
那是因為\\w
只匹配[A-Za-z0-9_]
。 要匹配重音字符,請添加unicode塊范圍\\x81-\\xFF
,其中包括Latin-1字符à
和ã
, 等等 :
(/[\w\x81-\xFF]+|"[^"]+"/g)
還有這個站點,這對構建所需的unicode塊范圍非常有幫助。
這匹配不包含引號的非空格,並匹配引號之間的文本:
/[^\s"]+|"[^"]+"/g
如果要匹配所有非空白字符而不是僅匹配字母數字字符,請將\\w
替換為\\S
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.