home icon indicating copy to clipboard operation
home copied to clipboard

并击输入的转义字符正则表达式失效

Open SpaceTime1999 opened this issue 3 years ago • 7 comments

/ \ * 这三个符号无法在chord_composer中被匹配

SpaceTime1999 avatar Dec 05 '21 13:12 SpaceTime1999

可能沒有正確轉義。 \ * 在正則表達式裏有特殊含義,\ 在YAML字符串裏也用作轉義字符。 / 在RIME的補丁裏有特殊含義,是否成爲問題要看用在哪裏。

lotem avatar Dec 07 '21 13:12 lotem

可能沒有正確轉義。 \ * 在正則表達式裏有特殊含義,\ 在YAML字符串裏也用作轉義字符。 / 在RIME的補丁裏有特殊含義,是否成爲問題要看用在哪裏。

chord_composer:
  alphabet: '`gvfc4rt653edGVFCRTEDhnjm9iu780olHNJMIUOLp-[;=2ws1qaPWSQAyYbBxXzZkK,.:]'' /*\'​

最近重新试了一下,这三个符号情况如下: * 无论是shift+8还是小键盘的 * 都无法参与编码,会直接上屏 \ 可以通过 -xform/\\/someword/ 使用,转义正常 和问号同一个键的 / 可以参与编码,但是无法使用类似 -xform/\//someword/ 的语句替换 小键盘的 / 无法参与编码,会直接上屏

SpaceTime1999 avatar Dec 09 '21 06:12 SpaceTime1999

chord_composer/alphabet 定義的是用於並擊的按鍵。用在並擊中,*實爲並擊{Shift_L}8兩個按鍵。除非鍵盤上有一個專門的*鍵,才需要在alphabet裏面定義。

拼寫運算不支持對字段分隔符轉義。可以換一個不在當前表達式裏出現的字段分隔符,比如用 |,或者空格。

小鍵盤的按鍵與主鍵盤區對應字符按鍵的鍵值不同,需要在 chord_composer/alphabet 裏另行指明。但小鍵盤的按鍵是否能用於並擊,我也沒有經驗。

lotem avatar Dec 11 '21 01:12 lotem

chord_composer/alphabet 定義的是用於並擊的按鍵。用在並擊中,*實爲並擊{Shift_L}8兩個按鍵。除非鍵盤上有一個專門的*鍵,才需要在alphabet裏面定義。

拼寫運算不支持對字段分隔符轉義。可以換一個不在當前表達式裏出現的字段分隔符,比如用 |,或者空格。

小鍵盤的按鍵與主鍵盤區對應字符按鍵的鍵值不同,需要在 chord_composer/alphabet 裏另行指明。但小鍵盤的按鍵是否能用於並擊,我也沒有經驗。

原来如此 目前我在设计一个包含小键盘的并击输入法(通过改造键盘,已经在物理上重新调整了小键盘区),应该怎么指明小键盘上按键的键值呢?

SpaceTime1999 avatar Dec 11 '21 02:12 SpaceTime1999

image 我想用\做开头,可是遇到了困难

srackhall avatar Apr 03 '22 11:04 srackhall

在 YAML 的双引号字符串中,\ 有特殊含义,"\\" 表示一个 \ 字符。 在正则表达式中, \ 有特殊含义,匹配一个 \ 的表达式应写作 \\。 因此,用 YAML 双引号字符串写正则表达式时,匹配一个 \ 的表达式是 "\\\\"。 在 YAML 的单引号字符串中,\ 没有特殊含义,因此写作 '\\'

Ace-Who avatar Apr 03 '22 17:04 Ace-Who

收到, 还得是老哥你,。 我这下午折腾了俩小时, 愣是没办法。

srackhall avatar Apr 03 '22 17:04 srackhall