Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support more formats of multiple articles #5

Open
kong0107 opened this issue Aug 19, 2013 · 4 comments
Open

Support more formats of multiple articles #5

kong0107 opened this issue Aug 19, 2013 · 4 comments
Labels

Comments

@kong0107
Copy link
Member

@clkao 在 IRC 提到這個新聞的「郵政儲金匯兌法18條」不會轉換成功,而這是因為目前不支援缺少「第」字的格式。

另外,有些文章已經使用如「§18」的格式,目前也未能偵測到。

為了處理多種不同的格式,且避免不必要的轉換(例如麻將或日文姓氏的「五條」),似乎應該將文字分析與生成 DOM 的機制分開。

kong0107 added a commit that referenced this issue Aug 25, 2013
* 民訴第二編第一章第三節有「第五目之一」,之前會出錯。
* 把針對條文而建立連結與浮動視窗的功能獨立為一函數`createArtNumContainer`,有助於處理 #5
@kong0107
Copy link
Member Author

目前想到大致有四種變形:

  • 中文或阿拉伯數字(可能是全形)
  • 「之」字(或符號"-")的位置
  • 連接詞的位置
  • 「第」字的省略

以「第三條之四第五項至第六項」為例,僅考慮半形阿拉伯數字:

* 第 3   條 之 4 第 5 項 至 第 6 項
* 第 3-4 條      第 5 項 至 第 6 項
* 第 3   條 之 4 第 5    至    6 項
* 第 3-4 條      第 5    至    6 項
*    3   條 之 4 第 5 項 至 第 6 項
*    3-4 條         5 項 至    6 項
*    3   條 之 4 第 5    至    6 項
*    3-4 條         5    至    6 項

其中第五種可說是混搭格式,不過似乎也可能遇到。

一次寫完的話可能就是:

/(第?\d+(-\d+)?([、,或及和與至到]\d+(-\d+)?)*[條項類款目](之\d+)?)+([、,或及和與至到](第?\d+(-\d+)?([、,或及和與至到]\d+(-\d+)?)*[條項類款目](之\d+)?)+)*/

而這是沒有處理空白和中文數字的情形,且會多比對到別的。

@czchen
Copy link
Member

czchen commented Aug 25, 2013

數字部分可以參考 util.ls

@clkao
Copy link
Member

clkao commented Aug 25, 2013

@victorhsieh refactor 到 zhutil 了,要 merge 一下嗎?

@kong0107
Copy link
Member Author

唔,中文數字轉換的部分,我有改寫parseInt 了,上面的 RegExp 只是表示方便而沒把\d+換成落落長的樣子。
至於victorhsieh/npm-zhutil看來則是我還不會的 LiveScript ,仍要再學習下...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants