Java有提供Pattern跟Matcher物件來幫我們做到正規表示搜尋的功能
但今天我遇到一個問題,我希望在搜尋的單字中忽略大小寫
這在一般的RegExp有兩個方法可以解決,假設今天我想找boy這個單字
- (B|b)(O|o)(Y|y)
- 使用參數 i
第一個方法如果單字固定的話還可以用,但是搜尋條件是由對方輸入的時候
就必須仰賴第二個方法
RegExp在下語法的時候有個格式
/RegExp/flag
第一個是搜尋條件,第二個是搜尋參數
在java則是使用函式
Pattern.compile(String RegExp,int flag);
所以我想忽略大小寫的話只要使用CASE_INSENSITIVE這個flag就可以解決了
舉個例子
....
Pattern pattern=Pattern.compile(regexp,Pattern.CASE_INSENSITIVE);
Matcher matcher=pattern.matcher(data);
if(matcher.find()){.....}
...
regexp是由我們下的搜尋語句,data則是想搜尋的來源字串
沒有留言:
張貼留言