2020年2月19日 星期三

Backreference in a regular expression

通常我們在使用正規表示法(Regular expression)的時候,如果需要讓前面出現的字串與後面字串相符,就需要使用反向參考(Backreference)來達成

像是日期格式中如果使用分隔符號則我們通常會預期是相同符號(EX: 2020-02-19 or 2020/2/19)
如果要透過正規表示法做到這樣功能,就可以透過反向參考來達成

底下的pattern就是我用來 parse 日期的範例

((19[7-9]\d|20\d{2})|\d{2})([- /.])(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|(Nov|Dec)(?:ember)?|([0]?[0-9]{1}|[1]{1}[0-2]{1}))\3([0]?[0-9]{1}|[1-2]{1}[0-9]{1}|[3]{1}[0-1]{1})

\3是依據pattern中括號分組出現的位置來決定

參考出處:請點我

2020年2月18日 星期二

Visual Studio 2015 Installer Project

雖然現在最新版已經來到Visual Studio 2019,但因為一些原因,公司仍使用Visual Studio 2015,所以升級IDE的版本並非首要任務,也因此才會有此篇文章的誕生啦~~~

隨著程式日漸龐大,部屬到正式環境能夠越單純越直覺,能夠讓後續接手的人好維護為首要目標,因此開始想著要建置安裝檔

很不幸的,不曉得是年久失修還是怎樣,VS2015原生的InstallShield就是沒辦法從公司安裝‧
在苦惱了好久為什麼InstallShield跟鬼打牆似的就是沒辦法找到安裝檔,鑽牛角尖了一陣子以後,開始尋找其他替代方案,碰巧被我知道微軟自己本身有相對應的工具Visual Studio Installer Project,這可能就是天殺的原因吧~~~阿斯

下載該元件很簡單,依序點選【工具】(Tools)==>【擴充功能和更新】(Extension and Updates)後再出現的新視窗點選線上更新再搜尋 Installer Project即可找到

希望大家不需要像我鬼打牆一樣苦惱了老半天