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即可找到

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

2013年3月17日 星期日

滑動頁面時不自動換標籤頁

最近試著用 ActionBarSherlock 增加標籤頁的功能,

當加入兩個以上的標籤並使用 ViewPager 功能時,常常遇到滑動螢幕時就會自動換至另一個標籤頁的情況

為了避免使用造成不便,找到了一篇非常有用的文章,按我連結

Santiago 運用繼承 ViewPager類別,並改變他在事件觸發時的相關作用。

2013年3月3日 星期日

NetworkOnMainThreadException解決之道

先前開發 Android 的目標版本使用Android 2.3.3,後來開發的 App 需要去網路上抓取一些資訊

不加思索使用模擬器開發測試沒有問題以後就發佈到 Market,

沒想到在手機上卻怎麼樣也顯示不出來!後來查看LogCat 出現NetworkOnMainThreadException

查找 Android Developer Doc 後才知道這個問題是自Honeycomb(Android 3.0) 後開始檢查在主執行緒使用網路存取或I/O存取,

避免程式沒有回應(Application Not Responding)的情況,簡稱ANR。

解決 INSTALL_FAILED_MISSING_SHARED_LIBRARY

最近在試著用 Eclipse 開發小程式,開發到後來想要加入Google Map 功能

原先應用程式的開發目標選定 Android 2.3.3 - API Level 10

當我試著把 <uses-library android:name="com.google.android.maps" />加到AndroidManifest.xml 重新執行時

卻沒有辦法將程式裝到我的模擬器中,查看 LogCat 看到 INSTALL_FAILED_MISSING_SHARED_LIBRARY

2013年2月18日 星期一

如何註冊Yahoo! Japan

由於Yahoo! Japan帳號不允許台灣註冊,所以開始找尋怎樣才能加入日本雅虎會員

先前已經有人發表過相關的文章,點我連結

裡面介紹了PacketiX VPN Client 這套軟體,

藉由這套軟體連結至特定的VPN Server後,讓網站識別 IP Address 失效

原先ㄚ狼兄已經將大部份的流程寫出來,但是自己在Windows 7上嘗試安裝時遇到了一些問題

無法直接使用下載的設定檔

2012年8月7日 星期二

不同版本的IE 瀏覽器套用 CSS 技巧

最近寫 CSS 發現 IE 在各版本的 CSS 呈現結果不盡相同,

為了要讓各版本的內容可能看起來一樣

這時候只好針對各個版本做編輯其 CSS 內容

為了達到這個目的,我們需要使用條件註釋(Conditional Comments)來解決

如下列內容,當IE版本小於等於(less then or equal)則將增加使用 .item.itemName 樣式

<!--[if lte IE 9]><style>
.itemRow {
    height:100%;
    display:block;
}
.itemName {
    height:100%;
    display:inline-block;
    vertical-align:middle;
}
</style><![endif]-->