簡體   English   中英

如何匹配正則表達式中的重音字符?

[英]How to match accented characters in a regex?

我將這個文本塊定義為new_text波紋管,並且我有一個gsub塊貫穿該文本,應替換此位

@[James Andrés Trento D.](content:25)

@James

但是,由於它們的名稱為é,\\ w與單詞不匹配。 我嘗試使用

[:alpha:]

沒有任何運氣。 有誰知道我該如何使我的正則表達式與重音匹配?

new_text = "I have a video of @[James Andrés Trento D](content:25) dancing, but too big! May 5 - 9."

new_text.gsub! /@\[(?<name>[\w\s\-\']+)\]\(content:(?<userid>\d+)\)/ do
  m = $~
  name, id = m[:name], m[:userid]
  "@#{name.split(' ').first}"
end
puts new_text

一個可能的解決方案是接受所有未]符號名稱的一部分:

@\[(?<name>[^\]]+)\]\(content:(?<userid>\d+)\)
            ^^^ <- match all not `]` symbols

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM