我剛剛閱讀了Ruby Regex文檔中的\p{Assigned}
選擇器,這聽起來像是很容易生成它應該匹配的字符數組的一種很好的可能性。它在文檔中說的唯一的東西是'指定字符'。如何使用` p {Assigned}`regexp選擇器?
如何將一個/多個字符分配給此選擇器?
我剛剛閱讀了Ruby Regex文檔中的\p{Assigned}
選擇器,這聽起來像是很容易生成它應該匹配的字符數組的一種很好的可能性。它在文檔中說的唯一的東西是'指定字符'。如何使用` p {Assigned}`regexp選擇器?
如何將一個/多個字符分配給此選擇器?
Unicode assigned characters是整個圖形,格式,控制和private-use字符,即任何不是reserved for future assignment的字符。您不能將任意字符分配給類\p{Assigned}
。
見https://bugs.ruby-lang.org/issues/3838 您需要通過表達之後加入「U」
/\p{Assigned}/u
這確實似乎解決了嘗試使用它們時拋出的所有'\ p {...}'相關的錯誤。很高興知道。它會在'irb'中拋出錯誤,儘管不是在運行腳本文件時。我想'irb'沒有在utf-8中運行。 –
我不知道如何使用'\ p來指定編碼是UTF-8 {分配}',它會引發這裏有一個例外:'無效的字符屬性名{賦值}:/ \ p {賦值} /'。然而,如果你只是想讓一個正則表達式匹配一組字符中的一個,比如'a','b','c'中的一個,就創建你自己的字符類:'/ [abc] /'。 –